This commit was manufactured by cvs2svn to create tag 'v200911060829'.
Sprout from master 2009-11-06 10:51:35 UTC Jeffrey Overbey <jeffreyoverbey@acm.org> 'Revised PrimitiveOp to use rho-mu-kappa normal form'
Delete:
org.eclipse.photran-dev-docs/.cdtproject
org.eclipse.photran-dev-docs/.cproject
org.eclipse.photran-dev-docs/.externalToolBuilders/net.sourceforge.texlipse.builder.TexlipseBuilder (1).launch
org.eclipse.photran-dev-docs/.externalToolBuilders/net.sourceforge.texlipse.builder.TexlipseBuilder.launch
org.eclipse.photran-dev-docs/.externalToolBuilders/org.eclipse.cdt.make.core.makeBuilder.launch
org.eclipse.photran-dev-docs/.project
org.eclipse.photran-dev-docs/.settings/org.eclipse.cdt.core.prefs
org.eclipse.photran-dev-docs/README.txt
org.eclipse.photran-dev-docs/about.html
org.eclipse.photran-dev-docs/debugger/notes-from-feanil-200705.txt
org.eclipse.photran-dev-docs/debugger/senior-project-final-report-200705.pdf
org.eclipse.photran-dev-docs/dev-guide/.cvsignore
org.eclipse.photran-dev-docs/dev-guide/app-cvs.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/app-deploy.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/app-error-parsers.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/app-obfuscate-fortran.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/app-rename-tests.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/app-uiuc.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/authors.ltx
org.eclipse.photran-dev-docs/dev-guide/build.sh
org.eclipse.photran-dev-docs/dev-guide/build.xml
org.eclipse.photran-dev-docs/dev-guide/cdt.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.ltx
org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf
org.eclipse.photran-dev-docs/dev-guide/dev-guide.ltx
org.eclipse.photran-dev-docs/dev-guide/editor.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/find-pdflatex.sh
org.eclipse.photran-dev-docs/dev-guide/images/diagrams/editor_hierarchy.graffle
org.eclipse.photran-dev-docs/dev-guide/images/diagrams/parser_chain.graffle
org.eclipse.photran-dev-docs/dev-guide/images/editor_hierarchy.png
org.eclipse.photran-dev-docs/dev-guide/images/parser_chain.png
org.eclipse.photran-dev-docs/dev-guide/images/parsetree1.png
org.eclipse.photran-dev-docs/dev-guide/images/simple_fortran_AST.png
org.eclipse.photran-dev-docs/dev-guide/intro.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/parsing.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/plugins.ltx-inc
org.eclipse.photran-dev-docs/dev-guide/refactoring.ltx-inc
org.eclipse.photran-dev-docs/eclipse-config/photran-code-formatter-settings.xml
org.eclipse.photran-dev-docs/eclipse-config/photran-ibm-codetemplates.xml
org.eclipse.photran-dev-docs/eclipse-config/photran-uiuc-codetemplates.xml
org.eclipse.photran-dev-docs/fortran-nature/Bugzilla-info.txt
org.eclipse.photran-dev-docs/fortran-nature/README.txt
org.eclipse.photran-dev-docs/fortran-nature/screenshot.gif
org.eclipse.photran-dev-docs/language-coverage/Fortran 95 Feature Coverage.xls
org.eclipse.photran-dev-docs/misc-notes/cdt-outline-view-icons.txt
org.eclipse.photran-dev-docs/misc-notes/cs427fa08-mp5-summary.pdf
org.eclipse.photran-dev-docs/misc-notes/fixed-form-note-from-dirk.txt
org.eclipse.photran-dev-docs/misc-notes/links.txt
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/deployment.txt
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-03-cdt.tex
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-06-parser.tex
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-07-analysis.tex
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-08-symtbls.tex
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-09-refac-suppt.tex
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-10-refactoring.tex
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a2-xyz.tex
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a3-cdt-ext-pt.tex
org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a4-misc-notes.tex
org.eclipse.photran-dev-docs/patches/patch-20051101.txt
org.eclipse.photran-samples/.cdtproject
org.eclipse.photran-samples/.cproject
org.eclipse.photran-samples/.project
org.eclipse.photran-samples/.settings/org.eclipse.cdt.core.prefs
org.eclipse.photran-samples/.settings/scoped_pref_store.prefs
org.eclipse.photran-samples/Makefile
org.eclipse.photran-samples/liebmann-viz.gif
org.eclipse.photran-samples/liebmann-viz.sh
org.eclipse.photran-samples/src-common/.cvsignore
org.eclipse.photran-samples/src-common/change_c.f90
org.eclipse.photran-samples/src-common/main.f90
org.eclipse.photran-samples/src-cray-pointers/.cvsignore
org.eclipse.photran-samples/src-cray-pointers/cray-pointers.f90
org.eclipse.photran-samples/src-fixed-form-1/.cvsignore
org.eclipse.photran-samples/src-fixed-form-1/hello.f
org.eclipse.photran-samples/src-fixed-form-2/.cvsignore
org.eclipse.photran-samples/src-fixed-form-2/Makefile
org.eclipse.photran-samples/src-fixed-form-2/sample.f
org.eclipse.photran-samples/src-fortran-and-c/Makefile
org.eclipse.photran-samples/src-fortran-and-c/c.c
org.eclipse.photran-samples/src-fortran-and-c/fortran.f90
org.eclipse.photran-samples/src-fortran2003/.cvsignore
org.eclipse.photran-samples/src-fortran2003/01-class.f03
org.eclipse.photran-samples/src-fortran2003/02-inheritance.f03
org.eclipse.photran-samples/src-fortran2003/03-destructor.f03
org.eclipse.photran-samples/src-fortran2003/Makefile
org.eclipse.photran-samples/src-fortran2003/char-fn-test.f03
org.eclipse.photran-samples/src-fortran2003/nag-bug.f03
org.eclipse.photran-samples/src-fortran2003/params.f03
org.eclipse.photran-samples/src-fortran2003/stream-io.f03
org.eclipse.photran-samples/src-fortran2003/string.f03
org.eclipse.photran-samples/src-fortran2003/xlf-bug.f03
org.eclipse.photran-samples/src-fortran2003/xlf-bug2.f03
org.eclipse.photran-samples/src-fortran2003/xlf-crash.f03
org.eclipse.photran-samples/src-gaussian-elimination/.cvsignore
org.eclipse.photran-samples/src-gaussian-elimination/gauselim.f90
org.eclipse.photran-samples/src-implicits-1/.cvsignore
org.eclipse.photran-samples/src-implicits-1/hello.f90
org.eclipse.photran-samples/src-implicits-2/.cvsignore
org.eclipse.photran-samples/src-implicits-2/fortran.f90
org.eclipse.photran-samples/src-implicits-3/.cvsignore
org.eclipse.photran-samples/src-implicits-3/crazyimplicits.f90
org.eclipse.photran-samples/src-includes/.cvsignore
org.eclipse.photran-samples/src-includes/inc.h
org.eclipse.photran-samples/src-includes/innocuous.f90
org.eclipse.photran-samples/src-includes/main.doesnotcompile
org.eclipse.photran-samples/src-interfaces/.cvsignore
org.eclipse.photran-samples/src-interfaces/gfortran_compile_error.txt
org.eclipse.photran-samples/src-interfaces/interfaces.f90
org.eclipse.photran-samples/src-language-features/.cvsignore
org.eclipse.photran-samples/src-language-features/almost-exhaustive.f90
org.eclipse.photran-samples/src-liebmann-1-eoshift/.cvsignore
org.eclipse.photran-samples/src-liebmann-1-eoshift/liebmann.f90
org.eclipse.photran-samples/src-liebmann-2-arrays/.cvsignore
org.eclipse.photran-samples/src-liebmann-2-arrays/liebmann.f90
org.eclipse.photran-samples/src-liebmann-3-loops/.cvsignore
org.eclipse.photran-samples/src-liebmann-3-loops/liebmann.f90
org.eclipse.photran-samples/src-line-fitting/.cvsignore
org.eclipse.photran-samples/src-line-fitting/bstfit.f90
org.eclipse.photran-samples/src-modules/.cvsignore
org.eclipse.photran-samples/src-modules/module1.f90
org.eclipse.photran-samples/src-modules/module2.f90
org.eclipse.photran-samples/src-modules/zmain.f90
org.eclipse.photran-samples/src-scoping/.cvsignore
org.eclipse.photran-samples/src-scoping/scoping.f90
org.eclipse.photran.core.vpg.tests.failing/.classpath
org.eclipse.photran.core.vpg.tests.failing/.project
org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.core.prefs
org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.ui.prefs
org.eclipse.photran.core.vpg.tests.failing/META-INF/MANIFEST.MF
org.eclipse.photran.core.vpg.tests.failing/build.properties
org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello.f90
org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello.f90.result
org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello2.f90
org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello2.f90.result
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/00-README.txt
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialFromTheWWW.java
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialLAPACK.java
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialNagleFortran2003.java
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialPOP.java
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdFortran2003.java
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdTestSuiteFixed.java
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdTestSuiteFree.java
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestReindent.java
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestSuite.java
org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/search/tests/VPGSearchTestSuite.java
org.eclipse.photran.core.vpg.tests/.classpath
org.eclipse.photran.core.vpg.tests/.project
org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
org.eclipse.photran.core.vpg.tests/META-INF/MANIFEST.MF
org.eclipse.photran.core.vpg.tests/Makefile
org.eclipse.photran.core.vpg.tests/NOTE
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module2.f90
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module3.f90
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module4.f90
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module5.f90
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test1.f90
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test1.f90.result
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test2.f90
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test2.f90.result
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test3.f90
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test6.f90
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test7.f90
org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test8.f90
org.eclipse.photran.core.vpg.tests/build.properties
org.eclipse.photran.core.vpg.tests/check-can-add-test-code/external.f90
org.eclipse.photran.core.vpg.tests/check-can-add-test-code/main.f90
org.eclipse.photran.core.vpg.tests/check-can-add-test-code/module.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/module1.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/module1.f90.result
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01a-basic-integer.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01a-basic-integer.f90.result
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01b-basic-real.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01b-basic-real.f90.result
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01c-basic-dt.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01c-basic-dt.f90.result
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-02-contains.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-02-contains.f90.result
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-03-expr.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-03-expr.f90.result
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-04-nosetter-parameter.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-05a-fail-conflict.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06a-fail-array.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06b-fail-pointer.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06c-fail-allocatable1.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06d-fail-allocatable2.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06e-fail-target.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-simple01.f90
org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-simple01.f90.result
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test01-simple.f90
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test01-simple.f90.result
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test02-locals.f90
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test02-locals.f90.result
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test03-locals2.f90
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test03-locals2.f90.result
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test04-in-loop.f90
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test04-in-loop.f90.result
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test05-parameter.f90
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test05-parameter.f90.result
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test06-parameter.f90
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test06-parameter.f90.result
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test07-attribs.f90
org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test07-attribs.f90.result
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-single-loop.f90
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-single-loop.f90.result
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop.f90
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop.f90.result
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop2.f90
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop2.f90.result
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test01-simple.f90
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test01-simple.f90.result
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test02-simple.f90
org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test02-simple.f90.result
org.eclipse.photran.core.vpg.tests/interface-test-code/definition1.f90
org.eclipse.photran.core.vpg.tests/interface-test-code/definition2.f90
org.eclipse.photran.core.vpg.tests/interface-test-code/interface1.f90
org.eclipse.photran.core.vpg.tests/interface-test-code/interface2.f90
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bigexpression.f90
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bigexpression.f90.result
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bug206386.f90
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bug206386.f90.result
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/crazyimplicits.f90
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/crazyimplicits.f90.result
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/fortran.f90
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/fortran.f90.result
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/implicit-subprog.f90
org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/implicit-subprog.f90.result
org.eclipse.photran.core.vpg.tests/keyword-case-test-code/01-simple.f90
org.eclipse.photran.core.vpg.tests/keyword-case-test-code/01-simple.f90.result
org.eclipse.photran.core.vpg.tests/keyword-case-test-code/02-end-after.f90
org.eclipse.photran.core.vpg.tests/keyword-case-test-code/02-end-after.f90.result
org.eclipse.photran.core.vpg.tests/keyword-case-test-code/03-blank-after.f90
org.eclipse.photran.core.vpg.tests/keyword-case-test-code/03-blank-after.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common1.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common1.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common2.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common2.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common3.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common3.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common4.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common4.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons1.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons1.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons2.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons2.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv1.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv1.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv2.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv2.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName1.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName1.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName2.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName2.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short1.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short1.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short2.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short2.f90.result
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/typesDiffer1.f90
org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/typesDiffer2.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/main.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv1.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv1.f90.result
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv2.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv2.f90.result
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test12.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test12.f90.result
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test13.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test3.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test3.f90.result
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test4.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test4.f90.result
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test5.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test5.f90.result
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test6.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test6.f90.result
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7.f90.result
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7_1.f90
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7_1.f90.result
org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/testFile1.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/module.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program1.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program1.f90.result
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program2.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program2.f90.result
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program3.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program3.f90.result
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test1.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test1.f90.result
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test2.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test2.f90.result
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test3.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test3.f90.result
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test4_5.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test6.f90
org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test7.f90
org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test1.f90
org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test1.f90.result
org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test2.f90
org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test2.f90.result
org.eclipse.photran.core.vpg.tests/parser-test-code/.cvsignore
org.eclipse.photran.core.vpg.tests/parser-test-code/fortran2003_tests/fortran2003-syntax.f03
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariable.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariableAfter.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1aRefactored.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1abOriginal.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1bRefactored.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test2Original.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test3Original.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Original.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Refactored.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/AssignResult.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/BlockData.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ConstSubstring.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/DblPrecDim.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/FormatTest.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/Function.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ImplicitTest.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/IntentTest.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/LineContinuationTest.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/OperatorStarTest.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ParenSlash.F90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118954-todo.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118955.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118965.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126383.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126546.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126547.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126548.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug138221.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug167734.f
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193031.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193196.f
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug195801.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606-todo.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug276186.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/formatbugs.f90
org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/valref.f90
org.eclipse.photran.core.vpg.tests/reindenter-test-code/01-simple.f90
org.eclipse.photran.core.vpg.tests/reindenter-test-code/01-simple.f90.result
org.eclipse.photran.core.vpg.tests/reindenter-test-code/02-end-after.f90
org.eclipse.photran.core.vpg.tests/reindenter-test-code/02-end-after.f90.result
org.eclipse.photran.core.vpg.tests/reindenter-test-code/03-blank-after.f90
org.eclipse.photran.core.vpg.tests/reindenter-test-code/03-blank-after.f90.result
org.eclipse.photran.core.vpg.tests/reindenter-test-code/04-guess-indent.f90
org.eclipse.photran.core.vpg.tests/reindenter-test-code/04-guess-indent.f90.result
org.eclipse.photran.core.vpg.tests/reindenter-test-code/05-eachline-test.f90
org.eclipse.photran.core.vpg.tests/reindenter-test-code/05-eachline-test.f90.result
org.eclipse.photran.core.vpg.tests/rename-test-code/.cvsignore
org.eclipse.photran.core.vpg.tests/rename-test-code/Makefile
org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-mod.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-prog.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-subs.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/bug278106-visibility.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/bug278320-mod.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/bug278320-prog.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/bug278324.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename-extsub1-a.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename-extsub1-b.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename-fn-result.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename-overloads.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename1.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename2.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename3.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename3a.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename3b.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename3c.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename4.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename4a.fh
org.eclipse.photran.core.vpg.tests/rename-test-code/rename4b.fh
org.eclipse.photran.core.vpg.tests/rename-test-code/rename5.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename6.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename7.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename8.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename9.f90
org.eclipse.photran.core.vpg.tests/rename-test-code/rename9a.f90
org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-1-initial.f90
org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-2-proggie-shorter.f90
org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-3-proggie-longer.f90
org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-4-q-cut.f90
org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-5-q-pasted.f90
org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-6-q-pasted-at-bottom.f90
org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-7-q-pasted-formatted.f90
org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-8-q-pasted-at-bottom-formatted.f90
org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-9-t-above-q.f90
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/ArrayReferenceTest.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/BaseTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/DependencesTest.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/GCDTestTest.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/TestSeparatedListRemoval.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractParserTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractParserTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractSourceEditorTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/FailingParserTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/LoopReplacerSRTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/LoopReplacerSRTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/MultiTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/ParserTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/ParserTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/SourceReproductionTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/SourceReproductionTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/addonlytousestmt/AddOnlyToUseTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/addonlytousestmt/AddOnlyToUseTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestChangeText.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestRemove.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/g_type_check/TypeCheckerTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/h_interface_links/InterfaceLinkTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/i_list_all/ListAllModulesTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/makeprivatepublic/MakePrivateEntityPublicTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/makeprivatepublic/MakePrivateEntityPublicTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/minonlylist/MinOnlyListTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/minonlylist/MinOnlyListTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/HugeFile.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseFortran2003TestFiles.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectCollections.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialArjanVanDijkAtmos.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialAsteroids.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialFMLIB.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialFromTheWWW.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialIBEAMCppMod.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialLAPACK.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialNagleFortran2003.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialPOP.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWRF.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdFortran2003.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdTestSuiteFixed.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdTestSuiteFree.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectString.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseRefactoringTestFiles.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseRegressionTests.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseSamples.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/serialization/TestVPGSerializer.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/x_cpreprocessor/CPreprocessorTests.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/Activator.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/BaseTestFramework.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/RefactoringTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/commonblockvarnames/CommonVarNamesTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/commonblockvarnames/CommonVarNamesTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableFailTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/extractprocedure/ExtractProcTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/extractprocedure/ExtractProcTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/CheckCanAddDeclTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/ReindenterTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/ReindenterTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/interchangeloops/InterchangeLoopsTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/interchangeloops/InterchangeLoopsTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/keyword/KeywordCaseTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/keyword/KeywordCaseTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/movesavedtocommonblock/MoveSavedToCommonBlockTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/movesavedtocommonblock/MoveSavedToCommonBlockTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename1.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename2.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename3.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename4.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename5.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename6.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename7.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename8.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename9.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278103.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278106_Visibility.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278320.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278324.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameExtSub1.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameFnResult.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameOverloads.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameTestSuite.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/ManualSearchPageTests.txt
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/VPGSearchTestCase.java
org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/VPGSearchTestSuite.java
org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module1.f90
org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module2-module3.f90
org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module4.f90
org.eclipse.photran.core.vpg.tests/vpg-list-test-code/use-module1.f90
org.eclipse.photran.core.vpg.tests/vpg-list-test-code/use-module4.f90
org.eclipse.photran.core.vpg.tests/vpg-search-test-code/foo.f90
org.eclipse.photran.core.vpg.tests/vpg-search-test-code/implicitTest.f90
org.eclipse.photran.core.vpg.tests/vpg-search-test-code/moduleInclusion.F90
org.eclipse.photran.core.vpg.tests/vpg-search-test-code/nameScoping.F90
org.eclipse.rephraserengine-support/.classpath
org.eclipse.rephraserengine-support/.project
org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.core.prefs
org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.ui.prefs
org.eclipse.rephraserengine-support/README.txt
org.eclipse.rephraserengine-support/about.html
org.eclipse.rephraserengine-support/build/cdtdb-4.0.3.xml
org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-cmdline.jar
org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-eclipse.jar
org.eclipse.rephraserengine-support/distrib/license.html
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/core/CCorePlugin.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/CCorePluginResources.properties
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/BTree.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Chunk.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ChunkCache.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBStatus.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Database.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IString.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ListItem.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/LongString.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Messages.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ShortString.java
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/messages.properties
org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/dom/PDOMNotImplementedError.java
org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/IRuntimeConstants.java
org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/LocalizationUtils.java
org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/commonMessages.properties
org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Assert.java
org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/AssertionFailedException.java
org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/CoreException.java
org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/IStatus.java
org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Status.java
org.eclipse.rephraserengine.core.vpg.tests/.classpath
org.eclipse.rephraserengine.core.vpg.tests/.project
org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
org.eclipse.rephraserengine.core.vpg.tests/META-INF/MANIFEST.MF
org.eclipse.rephraserengine.core.vpg.tests/about.html
org.eclipse.rephraserengine.core.vpg.tests/build.properties
org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/preservation/IntervalTestCase.java
org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/preservation/NormalizationTestCase.java
org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/InternalCDTDBTests.java
org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/VPGTests.java
org.eclipse.rephraserengine.doc.isv/.project
org.eclipse.rephraserengine.doc.isv/META-INF/MANIFEST.MF
org.eclipse.rephraserengine.doc.isv/about.html
org.eclipse.rephraserengine.doc.isv/build.properties
org.eclipse.rephraserengine.doc.isv/html/concepts/introduction.html
org.eclipse.rephraserengine.doc.isv/html/concepts/refactorings.html
org.eclipse.rephraserengine.doc.isv/html/concepts/vpg.html
org.eclipse.rephraserengine.doc.isv/html/samples/samples.html
org.eclipse.rephraserengine.doc.isv/images/architecture.graffle
org.eclipse.rephraserengine.doc.isv/images/architecture.png
org.eclipse.rephraserengine.doc.isv/plugin.xml
org.eclipse.rephraserengine.doc.isv/toc.xml
org.eclipse.rephraserengine.doc.isv/tocconcepts.xml
org.eclipse.rephraserengine.doc.isv/tocsamples.xml
org.eclipse.rephraserengine.examples.text/.classpath
org.eclipse.rephraserengine.examples.text/.project
org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.core.prefs
org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.ui.prefs
org.eclipse.rephraserengine.examples.text/META-INF/MANIFEST.MF
org.eclipse.rephraserengine.examples.text/README.txt
org.eclipse.rephraserengine.examples.text/about.html
org.eclipse.rephraserengine.examples.text/build.properties
org.eclipse.rephraserengine.examples.text/plugin.xml
org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/ConvertTabsToSpacesRefactoring.java
org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextFileResourceFilter.java
org.eclipse.rephraserengine.examples.text/test/tab-example.txt
diff --git a/org.eclipse.photran-dev-docs/.cdtproject b/org.eclipse.photran-dev-docs/.cdtproject
deleted file mode 100644
index 1b2ea83..0000000
--- a/org.eclipse.photran-dev-docs/.cdtproject
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse-cdt version="2.0"?>
-
-<cdtproject/>
diff --git a/org.eclipse.photran-dev-docs/.cproject b/org.eclipse.photran-dev-docs/.cproject
deleted file mode 100644
index 5ed875c..0000000
--- a/org.eclipse.photran-dev-docs/.cproject
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?fileVersion 4.0.0?>
-
-<cproject>
-<storageModule moduleId="org.eclipse.cdt.core.settings">
-<cconfiguration id="converted.config.1692608738">
-<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="converted.config.1692608738" moduleId="org.eclipse.cdt.core.settings" name="convertedConfig">
-<externalSettings/>
-<extensions/>
-</storageModule>
-</cconfiguration>
-</storageModule>
-</cproject>
diff --git "a/org.eclipse.photran-dev-docs/.externalToolBuilders/net.sourceforge.texlipse.builder.TexlipseBuilder \0501\051.launch" "b/org.eclipse.photran-dev-docs/.externalToolBuilders/net.sourceforge.texlipse.builder.TexlipseBuilder \0501\051.launch"
deleted file mode 100644
index 82be9fa..0000000
--- "a/org.eclipse.photran-dev-docs/.externalToolBuilders/net.sourceforge.texlipse.builder.TexlipseBuilder \0501\051.launch"
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="net.sourceforge.texlipse.builder.TexlipseBuilder"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/org.eclipse.photran-dev-docs/.externalToolBuilders/net.sourceforge.texlipse.builder.TexlipseBuilder.launch b/org.eclipse.photran-dev-docs/.externalToolBuilders/net.sourceforge.texlipse.builder.TexlipseBuilder.launch
deleted file mode 100644
index 82be9fa..0000000
--- a/org.eclipse.photran-dev-docs/.externalToolBuilders/net.sourceforge.texlipse.builder.TexlipseBuilder.launch
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="net.sourceforge.texlipse.builder.TexlipseBuilder"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/org.eclipse.photran-dev-docs/.externalToolBuilders/org.eclipse.cdt.make.core.makeBuilder.launch b/org.eclipse.photran-dev-docs/.externalToolBuilders/org.eclipse.cdt.make.core.makeBuilder.launch
deleted file mode 100644
index 76c5283..0000000
--- a/org.eclipse.photran-dev-docs/.externalToolBuilders/org.eclipse.cdt.make.core.makeBuilder.launch
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType">
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/>
-<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS">
-<mapEntry key="org.eclipse.cdt.make.core.build.arguments" value=""/>
-<mapEntry key="org.eclipse.cdt.core.errorOutputParser" value="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;"/>
-<mapEntry key="org.eclipse.cdt.make.core.enableAutoBuild" value="false"/>
-<mapEntry key="org.eclipse.cdt.make.core.environment" value=""/>
-<mapEntry key="org.eclipse.cdt.make.core.enableFullBuild" value="true"/>
-<mapEntry key="org.eclipse.cdt.make.core.build.target.inc" value="all"/>
-<mapEntry key="org.eclipse.cdt.make.core.enabledIncrementalBuild" value="true"/>
-<mapEntry key="org.eclipse.cdt.make.core.build.target.clean" value="clean"/>
-<mapEntry key="org.eclipse.cdt.make.core.build.command" value="make"/>
-<mapEntry key="org.eclipse.cdt.make.core.enableCleanBuild" value="true"/>
-<mapEntry key="org.eclipse.cdt.make.core.append_environment" value="true"/>
-<mapEntry key="org.eclipse.cdt.make.core.build.target.full" value="clean all"/>
-<mapEntry key="org.eclipse.cdt.make.core.useDefaultBuildCmd" value="true"/>
-<mapEntry key="org.eclipse.cdt.make.core.build.target.auto" value="all"/>
-<mapEntry key="org.eclipse.cdt.make.core.stopOnError" value="false"/>
-</mapAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.cdt.make.core.makeBuilder"/>
-<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
-</launchConfiguration>
diff --git a/org.eclipse.photran-dev-docs/.project b/org.eclipse.photran-dev-docs/.project
deleted file mode 100644
index 163ef2c..0000000
--- a/org.eclipse.photran-dev-docs/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.photran-dev-docs</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
- <triggers>full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>LaunchConfigHandle</key>
- <value><project>/.externalToolBuilders/net.sourceforge.texlipse.builder.TexlipseBuilder (1).launch</value>
- </dictionary>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>net.sourceforge.texlipse.builder.TexlipseNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.photran-dev-docs/.settings/org.eclipse.cdt.core.prefs b/org.eclipse.photran-dev-docs/.settings/org.eclipse.cdt.core.prefs
deleted file mode 100644
index 3016190..0000000
--- a/org.eclipse.photran-dev-docs/.settings/org.eclipse.cdt.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-#Thu Jul 13 14:30:36 CDT 2006
-eclipse.preferences.version=1
-indexerId=org.eclipse.cdt.core.nullindexer
diff --git a/org.eclipse.photran-dev-docs/README.txt b/org.eclipse.photran-dev-docs/README.txt
deleted file mode 100644
index 03f5589..0000000
--- a/org.eclipse.photran-dev-docs/README.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-The documentation is built using Ant.
-Right-click build.xml and click on Run As > Ant Build.
-
-Contents:
-
-dev-guide
- Contains the Photran Developer's Guide. The CVS
- instructions in Appendix A are also made into a
- separate PDF.
-
- If you edit this, make sure your name is added
- to authors.tex!
-
- Run Ant on build.xml to build the documentation
- using pdflateex.
-
-misc-notes
- Various notes-to-self that aren't import enough to
- be in the developer's guide.
-
---Jeff Overbey 8/19/05, updated 8/29/08
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/about.html b/org.eclipse.photran-dev-docs/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.photran-dev-docs/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/debugger/notes-from-feanil-200705.txt b/org.eclipse.photran-dev-docs/debugger/notes-from-feanil-200705.txt
deleted file mode 100644
index 8abf0cc..0000000
--- a/org.eclipse.photran-dev-docs/debugger/notes-from-feanil-200705.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-* All modifications have "SP06" in a comment
-* Clicking on Run As/Debug As > Local Fortran Application sometimes does not work.
- Workaround: Use the "Run.../Debug..." dialog.
-* Remember there are TWO "Set Breakpoint" commands now (right-click
- the editor's ruler to see them): one for C/C++ and one for Fortran
diff --git a/org.eclipse.photran-dev-docs/debugger/senior-project-final-report-200705.pdf b/org.eclipse.photran-dev-docs/debugger/senior-project-final-report-200705.pdf
deleted file mode 100644
index 6ef8205..0000000
--- a/org.eclipse.photran-dev-docs/debugger/senior-project-final-report-200705.pdf
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/.cvsignore b/org.eclipse.photran-dev-docs/dev-guide/.cvsignore
deleted file mode 100644
index c4e2276..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-*.fdb_latexmk
diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-cvs.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-cvs.ltx-inc
deleted file mode 100644
index ff8bdda..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/app-cvs.ltx-inc
+++ /dev/null
@@ -1,89 +0,0 @@
-% Getting the Photran Sources from CVS
-
-\emph{BEFORE YOU BEGIN: Make sure you are running \textbf{Eclipse 3.5} (Galileo)
-and a \textbf{Java 5} or later JVM. We recommend the
-\href{http://www.eclipse.org/downloads/packages/eclipse-rcpplug-developers/ganymeder}{Eclipse for RCP/Plug-in Developers Package}.}
-
-\newcounter{running_counter}
-\textbf{Part~I. Check out the CDT 6.0 sources from CVS}
-
-\begin{enumerate}
- \item In Eclipse, switch to the CVS Repository Exploring perspective.
- \item Right-click the CVS Repositories view; choose New, Repository Location
- \item In the dialog box, enter the following information, then click Finish. \\
- \begin{tabular}{ll}
- Host name: & dev.eclipse.org \\
- Repository path: & /cvsroot/tools \\
- Username: & anonymous \\
- Password: & (no password) \\
- Connection type: & pserver \\
- \end{tabular}
- \item In the CVS Repositories view
- \begin{itemize}
- \item Expand ``:pserver:anonymous@dev.eclipse.org:/cvsroot/tools''
- \item Then expand ``HEAD''
- \end{itemize}
- \item Right-click on ``org.eclipse.cdt''
- \item Select ``Configure Branches and Versions\ldots''
- \item Under ``Browse files for tags'', expand ``all'', then expand
- ``org.eclipse.cdt'', then click on the .project file
- \item Under ``New tags found in the selected files'', click on the Deselect
- All button, then check cdt\_6\_0 in the list above it
- \item Click Add Checked Tags
- \item Click OK
- \item Now, in the CVS Repositories view
- \begin{itemize}
- \item Expand ``:pserver:anonymous@dev.eclipse.org:/cvsroot/tools''
- \item Then expand ``Branches''
- \item Then expand ``cdt\_6\_0''
- \item Then expand ``org.eclipse.cdt cdt\_6\_0''
- \item Then expand ``all''
- \end{itemize}
- \item Click on the first entry under ``all''
- (it should be org.eclipse.cdt), then shift-click on the last entry
- under ``all'' (it should be org.eclipse.cdt.ui.tests).
- All of the intervening plug-ins should now be selected.
- Right-click on any of the selected plug-ins, and select
- Check Out from the pop-up menu.
- (Check out will take several minutes.)
- \item You now have the CDT source code. Make sure it compiles successfully
- (lots of warnings, but no errors).
- \setcounter{running_counter}{\value{enumi}}
-\end{enumerate}
-
-\vspace{1em}
-\textbf{Part~II. Check out the Photran sources from CVS}
-\begin{enumerate}
- \setcounter{enumi}{\value{running_counter}}
- \item Under ``:pserver:anonymous@dev.eclipse.org:/cvsroot/tools,''
- expand HEAD, then expand
- org.eclipse.ptp, then expand
- photran
- \item Click on the first entry under ``photran''
- (it should be org.eclipse.photran-dev-docs), then shift-click on the last entry
- under ``photran'' (it should be org.eclipse.rephraserengine.ui.vpg).
- All of the intervening plug-ins should now be selected.
- Right-click on any of the selected plug-ins, and select
- Check Out from the pop-up menu.
- (Check out will take several minutes.)
- \setcounter{running_counter}{\value{enumi}}
-\end{enumerate}
-The sources should all compile (albeit with lots of warnings).
-
-\vspace{1em}
-\noindent\textbf{Part~III. Running the test cases}
-
-\begin{enumerate}
- \setcounter{enumi}{\value{running_counter}}
- \item In Package Explorer view, select the \texttt{org.eclipse.photran.core.vpg.tests} project.
- \item Right-click on that project and select Run As $>$ Run Configurations\ldots. A dialog will appear.
- \item In that dialog, create a new \textbf{JUnit Plug-in Test} launch configuration. Call it ``Photran-Tests''.
- \item For the configuration that you have just created, switch to the ``Environment'' tab and create a new variable called ``TESTING'' with a value of 1.
- \item Select ``Run'' to run the tests. To run the tests again, just launch the ``Photran-Tests'' configuration from the Eclipse Run menu.
-
- \vspace{.5em}
- \noindent\textit{\textbf{Note.} Some JUnit tests for the parser and
- refactoring engine require closed-source code that is not available in CVS.
- A warning will appear in the JUnit runner if this code is not available.}
- \setcounter{running_counter}{\value{enumi}}
-\end{enumerate}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-deploy.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-deploy.ltx-inc
deleted file mode 100644
index c9da897..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/app-deploy.ltx-inc
+++ /dev/null
@@ -1,68 +0,0 @@
-% Release and Deployment Procedure
-
-\textit{Most contributors/committers do not need to read this. This explains
-our entire release and deployment procedure: setting the Photran version
-number, building the feature, uploading it to the download site, etc.}
-
-\begin{enumerate}
-
-\item Note that, as a policy, Photran's update site URL changes when the
-version of the Platform or CDT that it requires changes.
-
-\item If the VPG database structure (or any of the serialized classes) have
-changed, update the VPG database filename in the PhotranVPGDB class
-constructor. For example, in Photran 4.0 beta 5, the filename was
-``photran40b5vpg''
-
-\item There are three features: org.eclipse.photran-feature,
-org.eclipse.photran.intel-feature, and org.eclipse.photran.xlf-feature.
-(Ignore the vpg-feature; it is included in the photran-feature.) For each of
-these three features:
- \begin{enumerate}
- \item The feature.xml should open in the Feature Manifest Editor. In the
- Overview tab, first update the version number.
- \item Then click Synchronize, and ``force feature version into plug-in and
- fragment manifests.''
- \item Change the update site URL.
- \item In the Information tab, change the copyright year.
- \item For the intel-feature and xlf-feature, in the Dependencies tab, change
- the ``version to match'' to the new photran-feature version number
- \end{enumerate}
-
-\item In an update site project (create one if necessary), open the site.xml
-file (it should open in the Site Manifest Editor). Add the three features, and
-Build each of them. Note that, as long as the
-required versions of the Platform and CDT are the same, \textit{there can be multiple
-version of Photran features in the update site.} For example, this allowed
-users running 4.0 beta 4 to automatically upgrade to 4.0 beta 5 simply by
-clicking the ``Update'' button in Help > Software Updates > Installed Software.
-
-\item \textit{Delete} the artifacts.xml and content.xml files. In Eclipse
-3.4, these only seem to confuse/break the update manager.
-
-\item Switch to the ``site.xml'' tab in the Site Manifest Editor, and update
- \begin{enumerate}
- \item the ``site mirrorsURL'' to reflect the new update site URL, and
- \item the ``description url'' to reflect the new update site URL, and
- \end{enumerate}
-
-\item Assuming your committer username is joverbey and the update site project
-is called eclipse9.9cdt9.9,
-\begin{verbatim}
-cd /wherever/the/update/site/project/is
-rsync -av -e ssh joverbey@dev.eclipse.org:/home/data/users/joverbey/downloads/technology/photran/updates/
-\end{verbatim}
-\textit{Don't forget the trailing slash!}
-
-\item Update the timeline in the next appendix
-(org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc)
-
-\item Tag the org.eclipse.photran module in CVS with something like
-v20090225\_4\_0\_5\_Beta5 where the date and version have been substituted
-appropriately
-
-\item Wait 24 hours for the update site to replicate to the mirrors
-
-\item E-mail photran, photran-announce, and photran-dev
-
-\end{enumerate}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-error-parsers.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-error-parsers.ltx-inc
deleted file mode 100644
index aa9c0a9..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/app-error-parsers.ltx-inc
+++ /dev/null
@@ -1,56 +0,0 @@
-% Creating an Error Parser
-
-Error parsers scan the output of \texttt{make} for error messages for a
-particular compiler. When they see an error message they can recognize, they
-extract the filename, line number, and error message, and use it to populate the
-Problems view.
-
-For an example, see \texttt{IntelFortranErrorParser}.
-(It's a mere 60 lines.)
-
-To create a new error parser, do the following.
-
-\begin{itemize}
-
-\item We will assume that your error parser class will be in the
-\texttt{errorparsers} folder in the \texttt{org.eclipse.photran.core} plug-in
-and added to the \\\texttt{org.eclipse.photran.internal.errorparsers} package.
-
-\item Define a class implementing \texttt{IErrorParser}
-
-\item Implement \texttt{public boolean processLine(String line,
-ErrorParserManager eoParser)} which should always return false because
-ErrorParserManager appears not to use the result in a rational way
-
-\item In org.eclipse.photran.core's \texttt{plugin.xml}, find the place where we
-define all of the Fortran error parsers. Basically, copy an existing one. Your
-addition will look something like this:
-
-\pagebreak
-
-\begin{lstlisting}[frame=lines, language=xml]
-<extension
- id="IntelFortranErrorParser"
- name="Photran Error Parser for Some New Fortran Compiler"
- point="org.eclipse.cdt.core.ErrorParser">
- <errorparser
- class="org.eclipse.photran.internal.errorparsers.MyErrorParser">
- </errorparser>
-</extension>
-\end{lstlisting}
-
-\item Your new error parser will appear in the error parser list in the
-Preferences automatically, and it will be automatically added to new projects.
-For existing projects, you will need to open the project properties dialog and
-add the new error parser to the project manually.
-
-\end{itemize}
-
-\textbf{Note.} Error parsers do not have to be implemented in the Photran Core
-plug-in. In fact, they do not have to be implemented as part of Photran at all.
-If you create a brand new plug-in, you can specify \texttt{org.eclipse.cdt.core}
-as a dependency, include the above XML snippet in your plug-in's
-\texttt{plugin.xml}, and include your custom error parser class in that plug-in.
-The plug-in system for Eclipse will recognize your plug-in, detect that it
-extends the \texttt{org.eclipse.cdt.core.ErrorParser} extension point, and add
-it to the list of implemented error parsers automatically.
diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc
deleted file mode 100644
index d78e31f..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/app-history.ltx-inc
+++ /dev/null
@@ -1,24 +0,0 @@
-% Photran Release History
-
-{\footnotesize
-\begin{tabular}{clccl}
-Photran & Date & Platform & CDT & Notes \\
-\hline
-1.2 & Jan 2005 & 2.1 & 1.2 & First public version; hacked CDT clone \\
-2.1 & Feb 2005 & 3.0 & 2.1 & First version available at eclipse.org \\
-3.0b1 & Aug 2005 & & & \\
-3.0b2 & Nov 2005 & & & \\
-3.0 & Jan 2006 & 3.1 & 3.0 & CDT extension; required modified CDT \\
-3.1b1 & Jul 2006 & & & \\
-3.1b2 & Apr 2007 & 3.1 & 3.1.1 & Extension of stock CDT \\
-4.0b1 & Jun 2007 & 3.2.2 & 3.1.2 & \textit{Rename, intro implicit none}\\
-4.0b2 & Oct 2007 & 3.3.1 & 4.0.1 & \\
-4.0b3 & Nov 2007 & 3.3.1.1 & 4.0.1 & \\
-4.0b4 & & 3.4 & 5.0 & First version release via an update site \\
-4.0b5 & Feb 2009 & 3.4 & 5.0.1 & \textit{Move saved vars to common} \\
- & Mar 2009 & 3.4 & 5.0.1 & First automated integration build under PTP \\
- & Sep 2009 & 3.5 & 6.0.0 & \\
-5.0.0 & Oct 2009 & 3.5 & 6.0.? & (Tentative) First official release at eclipse.org
-%Vers & Mon Year & Platfrm & CDT & \\
-\end{tabular}
-}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-obfuscate-fortran.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-obfuscate-fortran.ltx-inc
deleted file mode 100644
index 0b712e8..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/app-obfuscate-fortran.ltx-inc
+++ /dev/null
@@ -1,179 +0,0 @@
-\section{Introduction}
-
-Contributing a new refactoring to Photran is best done by following a working
-example.
-
-This paragraph describes the general approach: First, an action must be added to
-both the editor popup menu \textbf{and} the Refactor menu in the menu bar by
-modifying the plugin.xml file. Then, the action delegate and its accompanying
-refactoring wizard have to be coded; these two classes are responsible for
-populating the user interface of the refactoring wizard dialog. Finally, the
-actual Fortran refactoring itself has to be coded.
-
-The remaining sections go into the details of each of those steps based on a
-simple (but not useful) refactoring example: obfuscating Fortran by removing the
-comments and adding redundant comments to the header. The source code is
-available from
-\url{http://subversion.cs.uiuc.edu/pub/svn/FruitFly/edu.uiuc.nchen.obfuscator/trunk/}
-
-\section{Modifying the plugin.xml}
-
-There are \textbf{four} extensions points (from the Eclipse core) that our plug-in needs to extend:
-
-\begin{description}
-
- \item [\texttt{org.eclipse.ui.commands}] Creates a new command \emph{category}
-to represent our refactoring. This category will be referenced by the other
-extensions in the plugin.xml file.
-
- \item [\texttt{org.eclipse.ui.actionSets}] This extension point is used to add
-menus and menu items to the Fortran perspective.
-
- \item [\texttt{org.eclipse.ui.actionSetPartAssociations}] Allows our
-refactoring to be visible/enabled in the context of the Fortran editor.
-
- \item [\texttt{org.eclipse.ui.popupMenus}] Displays our refactoring in the
-pop-up menu that appears during a right-click.
-
- \item [\texttt{org.eclipse.ui.bindings}] (Optional) Allows our refactoring to
-be invoked via keyboard shortcuts. For instance the Fortran Rename Refactoring
-is bound to the Alt + Shift + R keyboard shortcut, which is the same as the one
-for the Java Rename Refactoring.
-
-\end{description}
-
-Please refer to the documentation and schema description for each extension point; the documentation is available from Help $>$ Help Contents in Eclipse.
-
-Fortran currently does \textbf{not} use the newer \texttt{org.eclipse.ui.menus}
-extension points (introduced in Eclipse 3.3) for adding menus, menu items and
-pop-up menus.
-
-It is possible to use the newer \texttt{org.eclipse.ui.menus} extension point if
-desired, but this chapter uses the older extension points to remain consistent
-with how Photran is doing it.
-
-For more information, see the plugin.xml file of our refactoring example.
-
-\section{Creating an Action Delegate and a Refactoring Wizard}
-
-The \texttt{org.eclipse.ui.actionSets} and \texttt{org.eclipse.ui.popupMenus}
-extension points that were extended in our plugin.xml file require a reference
-to action delegate class that we need to provide.
-
-For a Fortran refactoring, our action delegate should extend the
-\\\texttt{AbstractFortranRefactoringActionDelegate} class \textbf{and} implement
-the \\\texttt{IWorkbenchWindowActionDelegate} and \texttt{IEditorActionDelegate}
-interfaces.
-
-The most important method in our action delegate class is the
-\textbf{constructor}. The constructor has to be done in a particular way so that
-everything is setup correctly. Listing~\ref{lst:obfuscateaction} shows how the constructor needs to be setup.
-
-\begin{code}
-\begin{lstlisting}
-public class ObfuscateAction extends AbstractFortranRefactoringActionDelegate
- implements IWorkbenchWindowActionDelegate, IEditorActionDelegate {
-
- public ObfuscateAction() {
- super(ObfuscateRefactoring.class, ObfuscateRefactoringWizard.class);
- }
-
- ...
-}
-\end{lstlisting}
-\caption{\texttt{ObfuscateAction} for our simple refactoring example}
-\label{lst:obfuscateaction}
-\end{code}
-
-Inside our constructor, we need to call the parent constructor that takes
-\textbf{two} parameters: the class of the actual refactoring object (e.g.
-ObfuscateRefactoring) and the class of the actual refactoring wizard (e.g.
-ObfuscateRefactoringWizard). The parent class will dynamically create the
-refactoring object and refactoring wizard using Java reflection.
-
-Our refactoring wizard needs to be a subclass of
-\texttt{AbstractFortranRefactoringWizard}. The only method that we are required
-to implement is the \texttt{doAddUserInputPages} method. This page is
-responsible for creating a page for the wizard. For instance, a refactoring such
-as rename refactoring requires the user to provide a new name. So the
-\texttt{doAddUserInputPages} is responsible for creating the interface for that.
-
-Ideally, if our refactoring does not require the user to provide any input, it
-should just have an empty \texttt{doAddUserInputPages} method. However, because
-of a bug in the Mac OS X version of Eclipse, it is necessary to add a
-\emph{dummy} page. Without this dummy page the refactoring will cause the entire
-Eclipse UI to lock up on Mac OS X. Listing~\ref{lst:dummy_wizard_page} shows how
-to add a dummy input page. \\
-
-\begin{code}
-\begin{lstlisting}
-protected void doAddUserInputPages() {
- addPage(new UserInputWizardPage(refactoring.getName()) {
-
- public void createControl(Composite parent) {
- Composite top = new Composite(parent, SWT.NONE);
- initializeDialogUnits(top);
- setControl(top);
-
- top.setLayout(new GridLayout(1, false));
-
- Label lbl = new Label(top, SWT.NONE);
- lbl.setText("Click OK to obfuscate the current Fortran file.
- To see what changes will be made, click Preview.");
-
- }
- });
-}
-\end{lstlisting}
-\caption{Adding a \texttt{dummy} wizard input page}
-\label{lst:dummy_wizard_page}
-\end{code}
-
-\section{Creating the Actual Refactoring}
-
-Section~\ref{sec:structure_of_a_fortran_refactoring} gives a good overview of
-the \textbf{four} methods that a Fortran refactoring needs to implement. And
-Section~\ref{sec:refactoring_caveats} gives an overview of things to avoid while
-performing a refactoring. Our example refactoring conforms to the lessons in
-both those sections.
-
-Here we briefly describe the four methods in our example:
-
-\begin{description}
-
- \item [getName] This just returns the text ``Obfuscate Fortran Code''
-describing our refactoring. This text will be used as the title of the
-refactoring wizard dialog.
-
- \item [doCheckInitialConditions] Our simple refactoring does not have any
-\emph{real} initial conditions. Our refactoring can proceed as long as the
-current file can be parsed as valid Fortran source code. This is automatically
-checked by the \texttt{FortranRefactoring} parent class.
-
- Instead we use this method as a hook to perform some simple program analysis --
-acquiring the names of all the functions and subroutines in the current file. We
-will print these names later as part of the header comment.
-
- \item [doCheckFinalConditions] Since we do not require the user to provide any
-additional input, there are no final conditions to check.
-
- \item [doCreateChange] The actual refactoring changes are constructed in this
-method.
-
-We iterate through every token in the current file to check if it has a comment
-string. Comment strings are acquired by calling \texttt{Token\#getWhiteBefore()}
-and \texttt{Token\#getWhiteAfter()}. Following the advice of
-Section~\ref{sec:refactoring_caveats}, we store a list of all the tokens (call
-this list TokensWithComments) that contain comment strings. Once we have
-iterated through all the tokens, we proceed to remove the comments for tokens in
-our TokensWithComments list. Removing comments is done by calling
-\texttt{Token\#setWhiteBefore()} and \texttt{Token\#setWhiteAfter()} with blank
-strings as parameters.
-
-Finally, we create a header comment that just lists all the functions and
-subroutines in the current source file and add that to the preamble of the main
-program.
-
-\end{description}
-
-For more information, please consult the source code for our example.
diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-rename-tests.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-rename-tests.ltx-inc
deleted file mode 100644
index 3581254..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/app-rename-tests.ltx-inc
+++ /dev/null
@@ -1,122 +0,0 @@
-% Creating a Rename Refactoring Test Case
-
-JUnit tests for the Rename refactoring are located in the
-\texttt{org.eclipse.photran.refactoring.tests} plug-in project. A Rename test
-has two components:
-
-\begin{enumerate}
-
-\item one or more Fortran files, which contain the code to be refactored, and
-
-\item a JUnit test suite class, which creates tests attempting to rename the
-identifiers in that file.
-
-\end{enumerate}
-
-The Fortran files are stored as .f90 files in the \emph{rename-test-code}
-folder. The JUnit tests are similarly-named Java classes in the
-\texttt{org.eclipse.photran.refactoring.tests.rename} package.
-
-A sample JUnit test suite is the following. The more complex tests follow a
-similar structure. Here, the \texttt{vars} array records all of the identifiers
-and the line/column positions on which they occur. The test suite constructor
-attempts to rename each identifier to \texttt{z} and also to
-\texttt{a\_really\_really\_long\_name}.
-
-\shabox{Because our strategy for testing requires the \emph{exact} line and
-column position, using tabs instead of spaces for indenting could interfere with
-the positioning. Therefore, for testing purposes, test cases (the Fortran test
-files) should be indented with \textbf{spaces only}. However, when an actual
-Fortran programmer invokes a refactoring through the Eclipse UI, the indentation
-with tabs or spaces is not a problem because the Eclipse editor is smart enough
-to provide the correct position (based on expanding tabs into spaces
-internally). } \\
-
-\begin{lstlisting}[frame=lines]
-public class Rename2 extends RenameTestSuite
-{
- /////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME2.F90, AND
- // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER
- //
- /////////////////////////////////////////////////////////////////////////
-
- private String filename = "rename2.f90";
-
- private Ident[] vars = new Ident[]
- {
- var(filename, "Main", new LineCol[] { lc(2,9), lc(27,13) }),
- var(filename, "one", new LineCol[] { lc(4,16), lc(12,14),
- lc(16,11), lc(20,11) }),
- var(filename, "two", new LineCol[] { lc(5,27), lc(10,13),
- lc(13,14), lc(17,14) }),
- var(filename, "three", new LineCol[] { lc(6,16), lc(14,9),
- lc(18,9) }),
- var(filename, "four", new LineCol[] { lc(10,21), lc(15,14),
- lc(19,14) })
- };
-
- /////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- /////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new Rename2();
- }
-
- public Rename2() throws Exception
- {
- startTests("Renaming program with comments and line continuations");
- for (String name : new String[] { "z", "a_really_really_long_name" })
- for (Ident var : vars)
- addSuccessTests(var, name);
- endTests();
- }
-}
-\end{lstlisting}
-
-The \texttt{addSuccessTests} method adds several test cases to the suite: it
-simulates the user clicking on each occurrence of the identifier and asking to
-rename that instance. (Of course, no matter which occurrence is clicked on, all
-instances should be renamed\ldots but this has occasionally not happened.)
-
-If the rename should not have succeeded--that is, a precondition would not be
-met--\texttt{addPreconditionTests} should have been called rather than
-\texttt{addSuccessTests}. A good testing strategy ensures that a program behaves
-correctly: it should do \textbf{only} what it is supposed to do and nothing
-more. In our case, it should rename only the identifiers that are affected and
-ensure that the other identifiers are left untouched.
-
-\texttt{Rename3} is a slightly more complicated example, which renames
-identifiers spanning multiple files. In this case, a large boolean matrix is
-used to record which identifiers should be renamable to which other identifiers:
-
-\begin{code}
-\begin{lstlisting}
-private boolean[][] expectSuccess = new boolean[][]
-{
-
-/* vvv can be renamed to >>> myProgram, aRenamed3, bRenamed3, contained,
-/* myProgram */ new boolean[] { false, true, true, true, ...
-/* aRenamed3 */ new boolean[] { true, false, false, false, ...
-/* bRenamed3 */ new boolean[] { true, false, false, false, ...
-/* contained */ new boolean[] { true, false, false, false, ...
-/* external */ new boolean[] { false, false, false, false, ...
-/* moduleA */ new boolean[] { false, false, false, false, ...
-/* aSub1of3 */ new boolean[] { true, false, false, false, ...
-/* aSub2of3 */ new boolean[] { true, false, false, false, ...
-/* aSub3of3 */ new boolean[] { true, true, true, true, ...
-/* moduleB */ new boolean[] { false, false, false, false, ...
-/* bSub1of3 */ new boolean[] { true, true, true, true, ...
-/* bSub2of3 */ new boolean[] { true, false, false, false, ...
-/* bSub3of3 */ new boolean[] { true, true, true, true, ...
-/* moduleC */ new boolean[] { false, false, false, false, ...
-/* cSub */ new boolean[] { true, true, true, true, ...
-};
-\end{lstlisting}
-\caption{Partial representation of the boolean matrix in \texttt{Rename3}}
-\end{code}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/app-uiuc.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/app-uiuc.ltx-inc
deleted file mode 100644
index 0d46705..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/app-uiuc.ltx-inc
+++ /dev/null
@@ -1,68 +0,0 @@
-% Additional Information for UIUC Personnel
-
-\begin{center}
-\framebox{\parbox{5.5in}{\textit{The following information is only of interest
-to developers in the Department of Computer Science at the University of
-Illinois at Urbana-Champaign.}}}
-\end{center}
-
-\section{Photran Subversion Repository at UIUC}
-
-A private Subversion repository for internal testing and research work is
-provided by TSG at the following URL. \textit{You will only be able to access
-this repository if you have specifically been granted access.} The repository
-requires authentication using your NetID and Kerberos password.
-To access a Subversion repository from Eclipse, you must install an additional
-Eclipse plug-in (either Subclipse or Subversive).
-
-\begin{center}
-\begin{verbatim}
-https://subversion.cs.uiuc.edu/svn/Photran/
-\end{verbatim}
-\end{center}
-
-Currently, this repository contains the following.
-
-\begin{itemize}
-
-\item
-\textbf{Lua refactoring tool (lua-refactoring).}
-A small, prototype, Eclipse-based refactoring tool for the Lua scripting
-language, based on Photran's refactoring infrastructure.
-
-\item
-\textbf{Large Fortran test codes (photran-projects).}
-Checking these out into your workspace will enable about 6,000 additional
-test cases in the JUnit test suite. \textit{These applications are PRIVATE.
-They may NOT be distributed and are intended only for testing Photran.}
-
-\item
-\textbf{Sample Obfuscation refactoring (sample-refactoring).}
-The sample refactoring described in Appendix~\ref{app:obfuscate_refactoring}.
-
-\item
-\textbf{C preprocessor support (c-preprocessor).}
-C preprocessor support, based on the C preprocessor in CDT 5. This will
-eventually be moved into the public CVS repository.
-
-\end{itemize}
-
-\section{Photran Web Site at UIUC}
-
-TSG provides a Web hosting infrastructure based on the popular CPanel system
-and has set up a web hosting account for Photran.
-This hosting environment supports PHP, MySQL databases, CGI
-scripts, and a number of other popular web technologies.
-Documentation for these features is provided in the control
-panel. You can access your web content via the control panel,
-SSH, or WebDAV.
-Here are the account details:
-
-\begin{center}
-\begin{verbatim}
- web URL: http://photran.cs.illinois.edu/
- control panel: https://cpanel.cs.illinois.edu:2083/
- SSH access: cpanel.cs.illinois.edu
- web root: ~/public_html
-\end{verbatim}
-\end{center}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/authors.ltx b/org.eclipse.photran-dev-docs/dev-guide/authors.ltx
deleted file mode 100644
index b49bbbf..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/authors.ltx
+++ /dev/null
@@ -1,5 +0,0 @@
-% List of author names for the Photran developer's guide
-
-N. Chen \\
-J. Overbey \\
-%your name here \\
diff --git a/org.eclipse.photran-dev-docs/dev-guide/build.sh b/org.eclipse.photran-dev-docs/dev-guide/build.sh
deleted file mode 100644
index 0c1e63b..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/build.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-pdflatex dev-guide.ltx
-pdflatex dev-guide.ltx
-pdflatex cvs-instructions.ltx
-rm -rf *.aux *.log *.toc *.dvi *.ps *.out
diff --git a/org.eclipse.photran-dev-docs/dev-guide/build.xml b/org.eclipse.photran-dev-docs/dev-guide/build.xml
deleted file mode 100644
index 08b3829..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/build.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0"?>
-<project default="main" basedir=".">
- <target name="init">
- <tstamp/>
- </target>
-
- <target name="main" description="Generate PDFs using pdflatex">
- <!-- Run find-pdflatex.sh in the build directory to find pdflatex -->
- <exec executable="find-pdflatex.sh"
- resolveexecutable="true"
- outputproperty="pdflatex"
- failonerror="true"
- failifexecutionfails="true"/>
-
- <!-- Now run pdflatex -->
- <exec executable="${pdflatex}"
- failonerror="true"
- failifexecutionfails="true">
- <arg value="dev-guide.ltx" />
- </exec>
- <exec executable="${pdflatex}"
- failonerror="true"
- failifexecutionfails="true">
- <arg value="dev-guide.ltx" />
- </exec>
- <exec executable="${pdflatex}"
- failonerror="true"
- failifexecutionfails="true">
- <arg value="cvs-instructions.ltx" />
- </exec>
- <delete><fileset dir="." includes="*.aux *.log *.toc *.dvi *.ps *.out" /></delete>
- <exec executable="bash"><arg value="-c" /><arg value="if [ "$$LOGNAME" == "joverbey" ]; then xpdf -paper letter dev-guide.pdf; fi" /></exec>
- </target>
-
- <target name="clean" description="Remove generated PDFs">
- <delete><fileset dir="." includes="*.pdf" /></delete>
- <delete><fileset dir="." includes="*.aux *.log *.toc *.dvi *.ps *.out" /></delete>
- </target>
-
-</project>
diff --git a/org.eclipse.photran-dev-docs/dev-guide/cdt.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/cdt.ltx-inc
deleted file mode 100644
index 70540b7..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/cdt.ltx-inc
+++ /dev/null
@@ -1,269 +0,0 @@
-\section{Introduction}
-
-The C/C++ Development Tools (CDT)\footnote{See
-\url{http://www.eclipse.org/cdt/}} enables Eclipse to function as a first-class
-C/C++ IDE. CDT provides features that a programmer expects from an IDE such
-as project management, automated build, integrated debugging, etc. In addition,
-CDT also provides extension points for writing IDEs for other programming
-languages that follow the C/C++ edit-compile-debug-compile cycle closely;
-Fortran is one such language.
-
-Photran builds upon the CDT by leveraging its extension points. As such, it
-needs to follow certain conventions and expectations of the CDT. In this
-chapter, we discuss those conventions and expectations.
-
-\section{CDT Terminology}
-
-The following are CDT terms that will be used extensively when discussing
-Photran.
-
-\begin{itemize}
-
-\item \textbf{Standard Make projects} are ordinary Eclipse projects, except that
-CDT and Photran recognize them as being ``their own'' type of project (as
-opposed to, say, projects for JDT, EMF, or another Eclipse-based tool). Users
-must supply their own Makefile, typically with targets ``clean'' and ``all.''
-CDT/Photran cleans and builds the project by running \texttt{make}.
-
-\item \textbf{Managed Make projects} are similar to standard make projects,
-except that CDT/Photran automatically generates a Makefile and edits the
-Makefile automatically when source files are added to or removed from the
-project. The \textbf{Managed Build System} is the part of CDT and Photran that
-handles all of this.
-
-\item \textbf{Binary parsers} are able to detect whether a file is a legal
-executable for a platform (and extract other information from it). CDT
-provides binary parsers for Windows (PE), Linux (ELF), Mac OS X (Mach), and
-others. Photran does not provide any additional binary parsers.
-
-\item \textbf{Error parsers} are provided for many compilers. CDT provides a gcc
-error parser, for example. Photran provides error parsers for Lahey Fortran, F,
-g95, and others. Essentially, error parsers scan the output of \texttt{make} for
-error messages for their associated compiler. When they see an error message
-that they recognize, they extract the filename, line number, and error message,
-and use it to populate the Problems View. See
-Appendix~\ref{ap:creating_an_error_parser} for an example on how to create an
-error parser.
-
-\item CDT keeps a \textbf{model} of all of the files in a project. The model is
-essentially a tree of \textbf{elements}, which all derive from the (CDT Core)
-class \texttt{ICElement}. It is described in the next section.
-
-\end{itemize}
-
-\section{The Model}
-
-\emph{This section describes the CDT model in detail. Understanding the CDT
-model is useful for contributors who are interested in modifying the UI and how
-Fortran projects are managed in the Fortran perspective. Contributors who are
-interested in creating refactorings and program analysis tools should
-familiarize themselves with the Abstract Syntax Tree (AST) and Virtual Program
-Graph (VPG) described in Chapter~\ref{cha:parsing}.}
-
-The Fortran Projects view in Photran is essentially a visualization of
-the CDT's \textit{model}, a tree data structure describing the contents
-of all Fortran Projects in the workspace as well as the high-level contents
-(functions, aggregate types, etc.) of source files.
-
-Alain Magloire (CDT) describes the model, A.K.A. the \texttt{ICElement}
-hierarchy, in the thread ``Patch to create ICoreModel interface'' on the cdt-dev
-mailing list:
-
-{\footnotesize
-\begin{quote}
-\begin{verbatim}
-So I'll explain a little about the ICElement and what we get out of it for
-C/C++.
-
-The ICElement hierarchy can be separated in two:
-(1) - how the Model views the world/resources (all classes above ITranslationUnit)
-(2) - how the Model views the world/language (all classes below ITranslationUnit).
-
-How we(C/C++) view the resources:
-- ICModel --> [root of the model]
- - ICProject --> [IProject with special attributes/natures]
- - ISourceRoot --> [Folder with a special attribute]
- - ITranslationUnit --> [IFile with special attributes, e.g. extensions *.c]
- - IBinary --> [IFile with special attributes, elf signature, coff etc]
- - IArchive --> [IFile with special attributes, "<ar>" signature]
- - ICContainer -> [folder]
-
-There are also some special helper classes
- - ILibraryReference [external files use in linking ex:libsocket.so, libm.a, ...]
- - IIncludeReference [external paths use in preprocessing i.e. /usr/include, ...]
- - IBinaryContainer [virtual containers regrouping all the binaries found
- in the project]
-
-This model of the resources gives advantages:
-- navigation of the binaries,
-- navigation of the include files not part of the workspace (stdio.h, socket.h, etc)
-- adding breakpoints
-- search
-- contribution on the objects
-etc.....
-
-[...]
-
-(2) How we view the language.
-
-Lets be clear this is only a simple/partial/incomplete view of the language. For
-example, we do not drill down in blocks, there are no statements(if/else
-conditions) etc .... For a complete interface/view of the language, clients
-should use the __AST__ interface.
-\end{verbatim}
-\end{quote}
-}
-
-\pagebreak
-
-From another of Alain's posts in that thread:
-
-{\footnotesize
-\begin{quote}
-\begin{verbatim}
-Lets make sure we are on the same length about the ICElement hierarchy.
-It was created for a few reasons:
-
-- To provide a simpler layer to the AST. The AST interface is too complex
- to handle in most UI tasks.
-- To provide objects for UI contributions/actions.
-- The glue for the Working copies in the Editor(CEditor), IWorkingCopy class
-- The interface for changed events.
-- ...
-
-Basically it was created for the UI needs: Outliner, Object action contributions,
-C/C++ Project view and more.
-
-The CoreModel uses information taken from:
-- the Binary Parser(Elf, Coff, ..)
-- the source Parser(AST parser)
-- the IPathEntry classes
-- the workspace resource tree
-- The ResolverModel (*.c, *.cc extensions), ...
-
-to build the hierarchy.
-\end{verbatim}
-\end{quote}
-}
-
-\shabox{The CDT model should \textbf{not} be confused with the Abstract Syntax
-Tree (AST) model that is discussed in Section~\ref{sec:ast_structure}. They are
-\textbf{not} identical. It is best to think of the CDT model as containing a
-\emph{partial/simplified view} of the AST model to represent the
-\emph{interesting} elements in the source code (program names, function names,
-subroutine names) \textbf{in addition} to a model of the current workspace
-resources (Fortran projects, Fortran source files, binary executables). \emph{In
-other words, the CDT model knows about the language and the resources}. The AST,
-on the other hand, completely models \emph{everything} in the source file (but
-nothing about the resources), including low-level elements that the user is
-unlikely to be interested in knowing about (assignment nodes, variable
-declarations). While low-level, these elements are useful for refactoring and
-program analysis.}
-
-By conforming to the CDT model, Photran is able to reuse various UI
-elements for \emph{free}. For instance, the Outline View for Photran is managed
-by CDT; Photran just needs to provide a CDT-compatible model to represent its
-project and source files.
-
-The \texttt{FortranLanguage} class is responsible for initializing concrete
-classes that will build up the model that CDT expects. For more
-information, refer to the FortranLanguage.java file in the
-\texttt{org.eclipse.photran.cdtinterface} plug-in project.
-
-There are \textbf{two} options for creating suitable \emph{model builders}:
-\begin{enumerate}
-\item The \texttt{org.eclipse.photran.cdtinterface} plug-in project defines the
-\\ \texttt{org.eclipse.photran.cdtinterface.modelbuilder} extension point that
-other plug-ins can extend. Plug-ins extending that extension point are
-responsible for providing a suitable model builder. Using this option, it is
-possible to have multiple model builders. The model builder to use can be
-selected in the workspace preferences (under Fortran $>$ CDT Interface).
-
-\item If there are no plug-ins that extend the
-\texttt{org.eclipse.photran.cdtinterface.modelbuilder} extension point, then
-Photran falls back on a default implementation. The default implementation is
-provided by the \texttt{SimpleFortranModelBuilder} class. It relies on simple
-lexical analysis to build the model. This simple model builder might not be able
-to accurately handle the more complicated features of the Fortran language.
-\end{enumerate}
-
-The Photran VPG (see Section~\ref{sec:virtual_program_graph}) inside the
-\texttt{org.eclipse.photran.core.vpg} project uses the first option to
-contribute a model builder. The relevant classes are under the
-\texttt{org.eclipse.photran.internal.core.model} package i.e.
-\texttt{FortranModelBuilder}, \texttt{FortranModelBuildingVisitor} and
-\texttt{FortranParseTreeModelBuildingVisitor}.
-
-As mentioned in the post by Alain, all model elements must implement the
-\texttt{ICElement} interface for CDT to recognize them. In Photran, the
-\texttt{FortranElement} class implements the \texttt{ICElement} interface and
-serves as the base class for all Fortran elements such as subroutines,
-functions, modules, variables, etc. Each subclass of \texttt{FortranElement}
-corresponds to an element that can be displayed in the Outline View.
-
-\section{Reusing UI Elements}
-
-Various UI elements in Photran are also reused from the CDT through subclassing.
-For instance, the \texttt{NewProjectDropDownAction} class shown in
-Listing~\ref{lst:newprojectdropdownaction} is a subclass of
-\texttt{AbstractWizardDropDownAction} declared in CDT.
-\texttt{AbstractWizardDropDownAction} provides most of the implementation and
-our subclass just provides the Photran-specific details such as the actual
-action that will be invoked.
-
-\begin{code}
-\begin{lstlisting}
-public class NewProjectDropDownAction extends AbstractWizardDropDownAction
-{
- public NewProjectDropDownAction()
- {
- super();
- PlatformUI.getWorkbench().getHelpSystem().setHelp(this,
- ICHelpContextIds.OPEN_PROJECT_WIZARD_ACTION);
- }
-
- protected IAction[] getWizardActions()
- {
- return FortranWizardRegistry.getProjectWizardActions();
- }
-}
-\end{lstlisting}
-\caption{\texttt{NewProjectDropDownAction} class}
-\label{lst:newprojectdropdownaction}
-\end{code}
-
-Our \texttt{NewProjectDropDownAction} is invoked through the right-click menu by
-going to New... $>$ Other $>$ Fortran. It creates a new Fortran project in the
-current workspace.
-
-In addition, we could also customize the icons for each UI element by modifying
-the appropriate attributes in the plugin.xml file in the
-\texttt{org.eclipse.photran.cdtinterface} project.
-
-\section{The CDT Debugger and \texttt{gdb}}
-
-Currently, Photran re-uses the CDT debugger as-is and does not contribute any
-enhancements to it. Here is a brief summary of how the debugger works:
-
-\begin{itemize}
-
-\item The so-called CDT debugger is actually just a graphical interface to
-\texttt{gdb}, or more specifically to \texttt{gdb/mi}. So, if something doesn't
-appear to work, it is advisable to try it in \texttt{gdb} directly or to use
-another \texttt{gdb}-based tool such as DDD.
-
-\item The debugger UI ``contributes'' breakpoint markers and actions to the
-editor. The ``set breakpoint'' action, and the breakpoint markers that appear in
-the ruler of the CDT (and Photran) editors are handled \textbf{entirely} by the
-CDT debug UI; there is no code for this in Photran. The ``set breakpoint''
-action is enabled by calling \lstinline!setRulerContextMenuId("#CEditorRulerContext");!
-in the \texttt{AbstractFortranEditor} constructor.
-
-\item \texttt{gdb} reads debug symbols from the executable it is debugging.
-That is how it knows what line it's on, what file to open, etc. Photran
-has \textit{nothing} to do with this: These symbols are written entirely
-by the compiler. Moreover, the compiler determines what shows up in the
-Variables View. If the debugger views seem to be a mess, it is the
-compiler's fault, not Photran's.
-
-\end{itemize}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.ltx b/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.ltx
deleted file mode 100644
index 2df610e..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.ltx
+++ /dev/null
@@ -1,32 +0,0 @@
-\documentclass[10pt,letterpaper]{article}
-
-%\usepackage{anysize}
-%\marginsize{1.5in}{1.5in}{1.5in}{1.5in}
-\usepackage{fullpage}
-\usepackage[pdftex]{hyperref}
-\hypersetup{
- colorlinks,%
- citecolor=black,%
- filecolor=black,%
- linkcolor=black,%
- urlcolor=blue
-}
-
-\hyphenpenalty=5000
-\tolerance=1000
-
-% Skip a line between paragraphs, and don't indent them
-\setlength{\parskip}{10pt} % 10 pt = space between paragraphs
-\setlength{\parindent}{0pt} % 0 pt = indentation
-
-\begin{document}
-
-\title{Getting the Photran 5.0 Sources from CVS}
-\author{}
-\date{}
-
-\maketitle
-
-\input{app-cvs.ltx-inc}
-
-\end{document}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf b/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf
deleted file mode 100644
index 207b5ee..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/dev-guide.ltx b/org.eclipse.photran-dev-docs/dev-guide/dev-guide.ltx
deleted file mode 100644
index f163457..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/dev-guide.ltx
+++ /dev/null
@@ -1,115 +0,0 @@
-%\documentclass[10pt,letterpaper,twocolumn]{article}
-\documentclass[12pt,letterpaper]{report}
-
-%\usepackage{anysize}
-%\marginsize{0.5in}{0.5in}{0.5in}{0.5in}
-
-
-% Unnumbered footnotes
-\long\def\symbolfootnote[#1]#2{\begingroup\def\thefootnote{\fnsymbol{footnote}}
-\footnote[#1]{#2}\endgroup}
-
-\usepackage{fullpage}
-\usepackage[pdftex]{graphicx}
-\usepackage{color}
-\definecolor{LightMagenta}{cmyk}{0.1,0.8,0,0.1}
-
-\usepackage{listings}
-\lstset{numbers=left, numberstyle=\tiny, tabsize=2, numbersep=5pt, captionpos=b,
-basicstyle=\footnotesize, showstringspaces=false,
-emphstyle=\color{LightMagenta}\bfseries, language=Java}
-
-\usepackage[pdftex]{hyperref}
-\hypersetup{
- colorlinks,%
- citecolor=black,%
- filecolor=black,%
- linkcolor=black,%
- urlcolor=blue
-}
-
-\usepackage{float}
-\floatstyle{ruled}
-\newfloat{image}{htp}{lop}[chapter]
-\floatname{image}{Figure}
-
-\newfloat{code}{htp}{lop}[chapter]
-\floatname{code}{Listing}
-
-\usepackage{shadow}
-
-\hyphenpenalty=5000
-\tolerance=1000
-
-% Skip a line between paragraphs, and don't indent them
-\setlength{\parskip}{10pt} % 10 pt = space between paragraphs
-\setlength{\parindent}{0pt} % 0 pt = indentation
-
-\begin{document}
-
-\title{Photran 5.0 Developer's Guide}
-\author{
-\input{authors.ltx}
-}
-\date{}
-
-\maketitle
-
-\tableofcontents
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\chapter{Introduction}\symbolfootnote[0]{Last significant update: 09/16/09 (JO), 08/08/08 (NC)}
-\label{cha:introduction}
-\input{intro.ltx-inc}
-
-\chapter{Interactions with CDT}\symbolfootnote[0]{Last significant update: 08/08/08 (NC)}
-\label{cha:cdt}
-\input{cdt.ltx-inc}
-
-\chapter{Plug-in Decomposition}\symbolfootnote[0]{Last significant update: 09/16/09 (JO), 08/08/08 (NC)}
-\label{cha:plugins}
-\input{plugins.ltx-inc}
-
-\chapter{Parsing and Program Analysis}\symbolfootnote[0]{Last significant update: 09/16/09 (JO), 08/08/08 (NC)}
-\label{cha:parsing}
-\input{parsing.ltx-inc}
-
-\chapter{Refactoring}\symbolfootnote[0]{Last significant update: 09/16/09 (JO), 08/08/08 (NC)}
-\label{cha:refactoring}
-\input{refactoring.ltx-inc}
-
-\chapter{Photran Editors}\symbolfootnote[0]{Last significant update: 08/08/08 (NC)}
-\label{cha:editor}
-\input{editor.ltx-inc}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\appendix
-
-\chapter{Getting the Photran 5.0 Sources from CVS}\symbolfootnote[0]{Last significant update: 09/16/09}
-\input{app-cvs.ltx-inc}
-
-\chapter{Additional Information for UIUC Personnel}\symbolfootnote[0]{Last significant update: 10/02/09}
-\input{app-uiuc.ltx-inc}
-
-\chapter{Creating an Error Parser}\symbolfootnote[0]{Last significant update: 08/08/08}
-\label{ap:creating_an_error_parser}
-\input{app-error-parsers.ltx-inc}
-
-\chapter{Simple Fortran Refactoring Example}\symbolfootnote[0]{Last significant update: 08/08/08}
-\label{app:obfuscate_refactoring}
-\input{app-obfuscate-fortran.ltx-inc}
-
-\chapter{Creating Tests for the Rename Refactoring}\symbolfootnote[0]{Last significant update: 08/08/08}
-\input{app-rename-tests.ltx-inc}
-
-%\chapter{Release and Deployment Procedure}\symbolfootnote[0]{Last significant update: 02/25/09}
-%\input{app-deploy.ltx-inc}
-
-\chapter{Release History}
-\input{app-history.ltx-inc}
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\end{document}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/editor.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/editor.ltx-inc
deleted file mode 100644
index 28d5299..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/editor.ltx-inc
+++ /dev/null
@@ -1,153 +0,0 @@
-\section{Fortran Text Editors}
-
-There are \textbf{two} different text editors in Photran. This is necessary to
-support both the fixed-form Fortran 77 standard and the free-form Fortran 90 \&
-95 standard.
-
-Fortran 77 is known as fixed-form Fortran because it requires certain constructs
-to be \emph{fixed} to particular columns. For instance, Fortran statements can
-only appear between columns 7 - 72; anything beyond column 72 is ignored
-completely. This requirement is an artifact of the days when punched cards were
-used for Fortran programming. However, Fortran 77 compilers still enforce this
-requirement. The fixed-form editor in Photran helps the programmer remember this
-requirement by displaying visual cues to denote the column partitions.
-
-Fortran 90/95 adopted the free-form format that most programmers today are
-accustomed to. Nonetheless, because Fortran 77 is still considered a subset of
-Fortran 90/95, it is possible to write programs following the fixed-form format.
-As such, the free-form editor maintains some visual cues on column numbering
-(although using a more subtle UI).
-
-The UML class diagram in Figure~\ref{fig:images_editor_class_hierarchy} shows
-the hierarchy of the editors in Photran.
-
-\begin{image}
- \centering
- \includegraphics[height=3in]{images/editor_hierarchy.png}
- \caption{Photran editor class hierarchy}
- \label{fig:images_editor_class_hierarchy}
-\end{image}
-
-Both the \texttt{FixedFormFortranEditor} and \texttt{FreeFormFortranEditor}
-concrete classes inherit from \texttt{AbstractFortranEditor}. Most of the actual
-work is done inside \texttt{AbstractFortranEditor}; its subclasses just specify
-how to decorate the UI.
-
-In general, the implementation of \texttt{AbstractFortranEditor} closely follows
-the standard implementation of text editors in Eclipse. The following section
-highlights some of the Photran-specific mechanisms of the text editor. For more
-information on how text editors work in Eclipse, please consult the Eclipse
-references mentioned in Chapter~\ref{cha:introduction}.
-
-\section{Contributed \texttt{SourceViewerConfiguration}}
-
-Text editors in Eclipse rely on a \texttt{SourceViewerConfiguration} to enhance
-the current editor with features such as auto indenting, syntax highlighting and
-formatting. By default, most of these features are already provided by the
-concrete \texttt{SourceViewerConfiguration} class. However, it is possible to
-provide a custom implementation of a \texttt{SourceViewerConfiguration}. This is
-done by calling the
-\texttt{setSourceViewerConfiguration(SourceViewerConfiguration
-sourceViewerConfiguration)} method in an Eclipse text editor.
-
-Photran provides an additional layer of flexibility by allowing its
-\texttt{SourceViewerConfiguration} to be contributed from other plug-ins. A
-plug-in that is interested in contributing a \texttt{SourceViewerConfiguration}
-to the Photran editors must extend the
-\\\texttt{org.eclipse.photran.ui.sourceViewerConfig} extension point defined in
-the \\\texttt{org.eclipse.photran.ui.vpg} plug-in.
-
-At run-time, Photran \emph{dynamically} instantiates a suitable
-\texttt{SourceViewerConfiguration} by searching through the list of plug-ins
-that extend the \texttt{org.eclipse.photran.ui.sourceViewerConfig} extension.
-
-Currently, there are \textbf{two} \texttt{SourceViewerConfiguration}s in
-Photran: the contributed \texttt{FortranVPGSourceViewerConfigurationFactory} and
-the default (but less feature-full)
-\texttt{FortranModelReconcilingSourceViewerConfiguration}.
-
-\section{Fortran Editor Tasks: VPG \& AST Tasks}
-
-Many actions that a user can invoke actually depend on the current text in the
-text editor. For instance, auto-completion depends on the text that has been
-entered so far to provide feasible completion choices. A good auto-completion
-strategy constantly augments and updates its database of feasible completion
-choices as the user enters or modifies text; it does not have to wait until the
-user saves the current file.
-
-Another important feature of the text editor that requires constant updates is
-syntax highlighting. Syntax highlighting has to work almost instantaneously
-based on what the user has entered. It is not acceptable for the user to
-experience lengthy delays between typing a character and waiting for it to
-syntax highlight correctly.
-
-Eclipse utilizes a \emph{reconciler} to correctly and instantly perform syntax
-highlighting. The reconciler runs in a background thread in Eclipse, constantly
-monitoring the text that the user enters and updating the syntax highlighting as
-necessary. Every text editor in Eclipse -- including Photran's -- has a
-corresponding reconciler.
-
-Photran takes advantage of its existing reconciler
-(\texttt{FortranVPGReconcilingStrategy}) and adds additional Fortran editor
-tasks that should run each time its reconciler runs. The list of tasks to run is
-stored in the singleton \texttt{FortranEditorTasks} object.
-
-Currently, there are two kinds of tasks that can be run: Abstract Syntax Tree
-(AST) editor tasks and Virtual Program Graph(VPG) editor tasks. AST editor tasks
-depend on information from the AST of the current source file; and VPG editor
-tasks depend on information from the VPG of the current source file.
-\texttt{FortranEditorTasks} automatically schedules the VPG editor tasks using
-an instance of \texttt{VPGSchedulingRule} to synchronize access to the
-\texttt{PhotranVPG} singleton object. The AST of the current file is computed
-on-the-fly as the user modifies the source file. The VPG of the current file is
-based off its previous saved version (so it is less up-to-date). For more
-information about the AST and VPG, see Chapter~\ref{cha:parsing}.
-
-AST editor tasks must implement the \texttt{IFortranEditorASTTask} interface and
-VPG editor tasks must implement the \texttt{IFortranEditorVPGTask} interface.
-Additionally, each task has to register itself with the
-\texttt{FortranEditorTasks} object. A task that no longer needs to run should
-also be unregistered. Since these tasks run asynchronously, it is important to
-use proper Java concurrency practices i.e. \textbf{synchronized} methods and statements.
-
-\pagebreak
-
-Below is the API of the \texttt{FortranEditorTasks} class:
-
-\begin{code}
-\begin{lstlisting}
-public class FortranEditorTasks
-{
- public static FortranEditorTasks instance(AbstractFortranEditor editor)
-
- public synchronized void addASTTask(IFortranEditorASTTask task)
-
- public synchronized void addVPGTask(IFortranEditorVPGTask task)
-
- public synchronized void removeASTTask(IFortranEditorASTTask task)
-
- public synchronized void removeVPGTask(IFortranEditorVPGTask task)
-
- public Runner getRunner()
-
- ...
-}
-\end{lstlisting}
-\caption{API of \texttt{FortranEditorTasks} (see FortranEditorTasks.java)}
-\end{code}
-
-It is possible for a class to implement both the \texttt{IFortranEditorASTTask}
-and \texttt{IFortranEditorVPGTask} interfaces. For example, the
-\texttt{DeclarationView} class registers itself for both kinds of editor tasks
-and makes use of the information from both as it attempts to present the
-declaration for the currently selected token of the text editor.
-
-For more information on implementation details, please refer to the following
-classes:
-
-\begin{itemize}
- \item \texttt{DeclarationView}
- \item \texttt{FortranCompletionProcessorASTTask}
- \item \texttt{FortranCompletionProcessorVPGTask}
- \item \texttt{OpenDeclarationASTTask}
-\end{itemize}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/find-pdflatex.sh b/org.eclipse.photran-dev-docs/dev-guide/find-pdflatex.sh
deleted file mode 100755
index 2b0ea6b..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/find-pdflatex.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-RESULT=`which pdflatex 2>/dev/null | grep -v "no pdflatex in"`
-if [ "$RESULT" == "" ]; then
- OS=`uname -s`
- if [ "$OS" == "Darwin" ]; then
- HARDWARE=`uname -m`
- if [ "$HARDWARE" == "i386" ]; then
- RESULT=`find /usr/local/texlive -name pdflatex | grep i386`
- else
- RESULT=`find /usr/local/texlive -name pdflatex | grep ower`
- fi
- else
- RESULT=`find /usr/local/tex* -name pdflatex | head -1`
- fi
-fi
-if [ "$RESULT" == "" ]; then
- exit 1
-else
- echo $RESULT
- exit 0
-fi
diff --git a/org.eclipse.photran-dev-docs/dev-guide/images/diagrams/editor_hierarchy.graffle b/org.eclipse.photran-dev-docs/dev-guide/images/diagrams/editor_hierarchy.graffle
deleted file mode 100644
index 4847a60..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/images/diagrams/editor_hierarchy.graffle
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/images/diagrams/parser_chain.graffle b/org.eclipse.photran-dev-docs/dev-guide/images/diagrams/parser_chain.graffle
deleted file mode 100644
index 5c40720..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/images/diagrams/parser_chain.graffle
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/images/editor_hierarchy.png b/org.eclipse.photran-dev-docs/dev-guide/images/editor_hierarchy.png
deleted file mode 100644
index 22fce3a..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/images/editor_hierarchy.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/images/parser_chain.png b/org.eclipse.photran-dev-docs/dev-guide/images/parser_chain.png
deleted file mode 100644
index d70d8aa..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/images/parser_chain.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/images/parsetree1.png b/org.eclipse.photran-dev-docs/dev-guide/images/parsetree1.png
deleted file mode 100644
index 3fef6fc..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/images/parsetree1.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/images/simple_fortran_AST.png b/org.eclipse.photran-dev-docs/dev-guide/images/simple_fortran_AST.png
deleted file mode 100644
index ede9655..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/images/simple_fortran_AST.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/dev-guide/intro.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/intro.ltx-inc
deleted file mode 100644
index 36320f2..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/intro.ltx-inc
+++ /dev/null
@@ -1,50 +0,0 @@
-% Introduction
-\vspace{-0.5in}
-
-Photran is an IDE for Fortran 77, 90, 95, and 2003 that is built on top of
-Eclipse. It is structured as an Eclipse feature, in other words, as a set of
-plug-ins that are designed to be used together. Starting with version 3.0, it is
-an extension of C/C++ Development Tools (CDT), the Eclipse IDE for C/C++.
-Previous versions of Photran were created by hacking a copy of CDT to support
-Fortran instead of C/C++, but now we have developed a mechanism for adding new
-languages into CDT, allowing the Fortran support code to be in its own set of
-plug-ins.
-
-Our purpose in writing Photran was to create a refactoring tool for Fortran.
-Thus, Photran has a complete parser and program representation. Photran also
-adds a Fortran editor and several preference pages to the CDT user interface,
-as well as Fortran-specific project wizards and support for several Fortran
-compilers.
-
-Photran is part of the Parallel Tools Platform (PTP) project at the
-Eclipse Foundation, which provides the Web site, CVS repository, and
-Bugzilla repository. The Web site is
-\href{http://www.eclipse.org/photran}{http://www.eclipse.org/photran},
-and bugs can be submitted at
-\href{https://bugs.eclipse.org}{https://bugs.eclipse.org}
-under Tools $>$ PTP by selecting one of the ``Photran'' components.
-
-
-\vspace{-0.2in}
-
-\section{How To Read This Guide}
-
-This document explains the design of Photran so that interested contributors
-could fix a bug or add a refactoring. Contributors should know how to use
-Photran; user's guides and introductory tutorials are available from the
-\href{http://www.eclipse.org/photran/documentation.php}{\emph{Documentation}}
-section of Photran's website. Contributors also need to understand how to build
-Eclipse plug-ins before they read this document. Two good books on Eclipse
-plug-in development are
-\href{http://www.amazon.com/Eclipse-Building-Commercial-Quality-Plug-Ins/dp/0321228472}{\emph{Building
-Commercial-Quality Plug-ins}} and
-\href{http://www.amazon.com/Java-Developers-Guide-Eclipse-2nd/dp/0321305027/}{\emph{The
-Java Developer's Guide to Eclipse.}} Like almost all Eclipse plug-ins, Photran
-is written in Java, so knowing Java is also a prerequisite.
-
-This is a \emph{duplex} guide. The main chapters provide general descriptions of
-the various components and how they interact. The appendix describes concrete
-examples from Photran so that contributors can familiarize themselves with
-actual code and implementation details. This guide complements the source code
-in the repository; it is \underline{not a substitute} for reading the actual
-source code.
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/dev-guide/parsing.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/parsing.ltx-inc
deleted file mode 100644
index a02a085..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/parsing.ltx-inc
+++ /dev/null
@@ -1,672 +0,0 @@
-% Parsing and Program Analysis
-
-\section{Parsing}
-
-Before any program analysis can be done, the source code of the Fortran program
-has to be parsed. Photran provides support for both fixed-form (Fortran 77) and
-free-form Fortran (Fortran 90 \& 95) source code. The parser in Photran is
-generated using the Ludwig parser/AST generator by Jeff Overbey. It is based on
-the \emph{fortran2003.bnf} grammar file.
-
-Figure~\ref{fig:images_parser_chain} shows the lexer \& parser tool chain in
-Photran. Preliminary support for (\texttt{INCLUDE} directives) has also been
-implemented.
-
-\begin{image}
- \centering
- \includegraphics[height=3in]{images/parser_chain.png}
- \caption{Photran preprocessor/lexer/parser chain}
- \label{fig:images_parser_chain}
-\end{image}
-
-\section{Virtual Program Graph}
-\label{sec:virtual_program_graph}
-
-% I can't seem to get the cedilla fa\c{c}ade to render in my version of LaTeX
-In Photran, it is \emph{almost} never necessary to call the lexer, parser, or
-analysis components directly. Instead, Photran uses a \textbf{virtual program
-graph} (VPG), which provides the facade of a whole-program abstract syntax tree
-(AST) with embedded analysis information. In general, program analysis should be
-performed through the Photran VPG.
-
-An overview of VPGs is available at the following link:
-\url{http://jeff.over.bz/software/vpg/doc/}. It provides the background
-necessary for the remaining sections of this chapter.
-
-\subsection{Using the Photran VPG}
-
-\subsubsection{Acquiring and Releasing Translation Units}
-% TODO Make sure that this fits nicely into the page
-\texttt{PhotranVPG} is a \emph{singleton} object responsible for constructing
-ASTs for Fortran source code. ASTs are retrieved by invoking either of these
-methods:
-\begin{code}
-\begin{lstlisting}[numbers=none]
-public IFortranAST acquireTransientAST(IFile file)
-
-public IFortranAST acquirePermanentAST(IFile file)
-\end{lstlisting}
-\caption{Acquiring the Fortran AST}
-\end{code}
-
-\vspace{-0.15in}
-
-The returned object is an IFortranAST, an object which has a method for
-returning the root node of the AST as well as methods to quickly locate tokens
-in the AST by offset or line information. A \emph{transient AST} can be garbage
-collected as soon as references to any of its nodes disappear. A \emph{permanent
-AST} will be explicitly kept in memory until a call is made to either of the
-following methods:
-\begin{code}
-\begin{lstlisting}[numbers=none]
-public void releaseAST(IFile file)
-
-public void releaseAllASTs()
-\end{lstlisting}
-\caption{Releasing the Fortran AST}
-\end{code}
-
-Often, it is better to acquire a transient AST and rely on the garbage collector
-to reclaim the memory once we are done using it. However, there are times when
-acquiring a permanent AST would be more beneficial performance-wise. For
-instance, if we will be using the same AST multiple times during a refactoring,
-it would be better to just acquire a permanent AST. This prevents the garbage
-collector from reclaiming the memory midway through the refactoring once all
-references to the AST have been invalidated. While it is always possible to
-reacquire the same AST, doing so can be an expensive operation since it requires
-\emph{lexing}, \emph{parsing} \textbf{and} finally \emph{reconstructing} the AST
-from scratch.
-
-Only one AST for a particular file is in memory at any particular point in time,
-so successive requests for the same \texttt{IFile} will return the same
-(pointer-identical) AST until the AST is released (permanent) or garbage
-collected (transient).
-
-\subsubsection{Caveat}
-
-It is important to note that, because \texttt{PhotranVPG} is a singleton object,
-one must be careful about accessing it from multiple threads. Most of the time,
-when an AST is required, it will be from an action contributed to the Fortran
-editor; in this case, the action will usually be a descendant of
-\texttt{FortranEditorActionDelegate}, and synchronization will be handled
-automatically. For instance, all refactoring actions in Photran are descendants
-of \texttt{FortranEditorActionDelegate} and their accesses to
-\texttt{PhotranVPG} are being synchronized automatically.
-
-Otherwise, the thread must either be scheduled using a
-\texttt{VPGSchedulingRule} or it must lock the entire workspace . See
-\texttt{EclipseVPG\#queueJobToEnsureVPGIsUpToDate} as an example on how to use
-the \texttt{VPGSchedulingRule} and \texttt{FortranEditorActionDelegate\#run} as
-an example of how to lock the entire workspace.
-
-As a guideline, contributors who are interested in accessing the VPG should
-consider structuring their contributions as descendants of
-\texttt{FortranEditorActionDelegate} since that is the simplest mechanism (all
-synchronization is already taken care of automatically). However, if such an
-approach is not feasible, then they should consider using
-\texttt{VPGSchedulingRule} before resorting to locking the entire workspace.
-
-\subsection{The Program Representation: IFortranAST}
-
-The \texttt{acquireTransientAST} and \texttt{acquirePermanentAST} methods return
-an object implementing \texttt{IFortranAST}. Listing~\ref{lst:ifortranast} shows
-the methods in IFortranAST.
-
-\begin{code}
-\begin{lstlisting}[firstnumber=25]
-public interface IFortranAST extends Iterable<Token>
-{
- ///////////////////////////////////////////////////////////////////////////
- // Visitor Support
- ///////////////////////////////////////////////////////////////////////////
-
- public void accept(IASTVisitor visitor);
-
- ///////////////////////////////////////////////////////////////////////////
- // Other Methods
- ///////////////////////////////////////////////////////////////////////////
-
- public ASTExecutableProgramNode getRoot();
-
- public Iterator<Token> iterator();
- public Token findTokenByStreamOffsetLength(int offset, int length);
- public Token findFirstTokenOnLine(int line);
- public Token findTokenByFileOffsetLength(IFile file, int offset, int length);
-}
-\end{lstlisting}
-\caption{\texttt{IFortranAST} (see IFortranAST.java)}
-\label{lst:ifortranast}
-\end{code}
-
-The \texttt{getRoot} method returns the root of the AST, while the
-\texttt{find...} methods provide efficient means to search for tokens based
-on their lexical positioning in the source code.
-
-The \texttt{accept} method allows an external visitor to traverse the AST. This
-method is usually used when it is necessary to ``collect'' information about
-certain nodes. For more information see Section~\ref{sec:ast_structure} on what
-nodes can be visited.
-
-Because \texttt{IFortranAST} extends the \texttt{Iterable} interface, it is
-possible to use the \emph{foreach} loop to conveniently iterate through all the
-tokens in the AST e.g. \\ \lstinline!for (Token token : new IterableWrapper<Token>(ast))!
-
-\section{AST Structure}
-\label{sec:ast_structure}
-
-Photran's (rewritable) AST is generated along with the parser, so the structure
-of an AST is determined by the structure of the parsing grammar (see the
-\emph{fortran2003.bnf} file). The generated classes are located in the
-\texttt{org.eclipse.photran.internal.core.parser} package in the
-\texttt{org.eclipse.photran.core.vpg} project. The easiest way to visualize the
-structure of a particular file's AST is to view it in the Outline view (see
-Section~\ref{sec:how_to_get_acquainted_with_the_program_representation}).
-However determining all possible ASTs for a particular construct requires
-scrutinizing the parsing grammar file.
-
-\subsection{Ordinary AST Nodes}
-\label{sub:ordinary_ast_nodes}
-
-Generally speaking, there is one AST node for each nonterminal in the grammar
-and one accessor method for each symbol on its right-hand side (unless the
-symbol name is prefixed with a hyphen, in which case it is omitted). For
-example, the following specification\footnote{All grammar
-specifications are taken from the \emph{fortran2003.bnf} file. The \# RXXX number
-provides a reference to the actual specification in the grammar file.}
-
-{\footnotesize\begin{verbatim}
-# R533
-<DataStmtSet> ::= <DataStmtObjectList> -:T_SLASH <DataStmtValueList> -:T_SLASH
-\end{verbatim}}
-
-generates the AST node class \texttt{ASTDataStmtSetNode} shown in
-Listing~\ref{lst:astdatastmtsetnode_api}. Notice the \emph{presence} of the
-\texttt{getDataStmtObjectList} and \texttt{getDataStmtValueList} getters methods
-and the \emph{absence} of any method for accessing T\_SLASH.
-
-\shabox{The convention is to generate a class with the name
-\texttt{\color{LightMagenta}AST}$<$nonterminal
-name$>$\texttt{\color{LightMagenta}Node} that extends \texttt{ASTNode}. For
-instance \# R533 will generate the
-\texttt{{\color{LightMagenta}AST}DataStmtSet{\color{LightMagenta}Node}} class.}
-
-The following sections describe additional annotations that can be used to
-modify the standard convention when necessary. These annotations are not
-considered part of the standard BNF notation but they are supported by the
-underlying Ludwig parser generator.
-
-\begin{code}
-\begin{lstlisting}
-public class ASTDataStmtSetNode extends ASTNode
-{
- public IASTListNode<IDataStmtObject> getDataStmtObjectList() {...}
-
- public void setDataStmtObjectList(IASTListNode<IDataStmtObject> newValue) {...}
-
- public IASTListNode<ASTDataStmtValueNode> getDataStmtValueList() {...}
-
- public void setDataStmtValueList(IASTListNode<ASTDataStmtValueNode> newValue) {...}
-
- ...
-}
-\end{lstlisting}
-\caption{\texttt{ASTDataStmtSetNode} generated from \# R533}
-\label{lst:astdatastmtsetnode_api}
-\end{code}
-
-\subsubsection{Annotation \#1: \texttt{(list)}}
-
-Recursive productions are treated specially, since they are used frequently to
-express lists in the grammar. The recursive member is labeled in the grammar
-with the \texttt{(list)} annotation. For example, the following specification
-
-{\footnotesize\begin{verbatim}
-# R538
-(list):<DataStmtValueList> ::=
- | <DataStmtValue>
- | <DataStmtValueList> -:T_COMMA <DataStmtValue>
-\end{verbatim}}
-
-means that the AST will contain an object of type
-\texttt{List$<$ASTDataStmtValueNode$>$} whenever a \verb!<DataStmtValueList>!
-appears in the grammar. For instance, \# R533 (just described in the previous
-section) uses the \texttt{DataStmtValueList} construct. Notice in
-Listing~\ref{lst:astdatastmtsetnode_api} that the return type of
-\texttt{getDataStmtValueList} is a \texttt{List}.
-
-Putting an object that implements the \texttt{java.util.List} into the tree
-(rather than having a chain of nodes) makes it easier to iterate through the
-list, determine its size and insert new child nodes.
-
-\subsubsection{Annotation \#2: \texttt{(superclass)}}
-
-The \texttt{(superclass)} annotation is used to create an interface that is
-implemented by all symbols on the right-hand side of the specification will
-implement. For example, the following specifications
-
-{\footnotesize\begin{verbatim}
-# R207
-(superclass):<DeclarationConstruct> ::=
- | <DerivedTypeDef>
- | <InterfaceBlock>
- | <TypeDeclarationStmt>
- | <SpecificationStmt>
-
-...
-
-# R214
-(superclass):<SpecificationStmt> ::=
- | <AccessStmt>
- | <AllocatableStmt>
- | <CommonStmt>
- | <DataStmt>
- | <DimensionStmt>
- | <EquivalenceStmt>
- | <ExternalStmt>
- | <IntentStmt>
- | <IntrinsicStmt>
- | <NamelistStmt>
- | <OptionalStmt>
- | <PointerStmt>
- | <SaveStmt>
- | <TargetStmt>
- | <UnprocessedIncludeStmt>
-\end{verbatim}}
-
-mean that an \textbf{interface} -- not a class -- named
-\texttt{ISpecificationStmt} will be generated for \# R214, and
-\texttt{ASTAccessStmtNode}, \texttt{ASTAllocatableStmtNode},
-\texttt{ASTCommonStmtNode}, etc will implement that interface. In addition,
-because \verb!<SpecificationStmt>! is used inside \# R207 which also uses the
-\texttt{(superclass):} annotation, \texttt{ISpecificationStmt} also extends the
-\texttt{IDeclarationConstruct} interface from \# R207 i.e.
-
-\begin{lstlisting}[numbers=none]
- public interface ISpecificationStmt extends IASTNode, IDeclarationConstruct
-\end{lstlisting}
-
-So, it is possible for an AST node to implement multiple interfaces based on the
-specifications in the grammar.
-
-Using the \texttt{(superclass)} annotation gives those nonterminals in \# R214
-nodes a common type; most notably, a \texttt{Visitor} can override the
-\texttt{visit(ISpecificationStmt)} method to treat all three node types
-uniformly.
-
-\subsubsection{Annotation \#3: \texttt{(bool)}}
-
-The \texttt{(bool)} annotation indicates that an accessor method will return a
-\lstinline!boolean! rather than an actual AST node. For example, the following
-specification
-
-{\footnotesize\begin{verbatim}
-# R511
-<AccessSpec> ::=
- | isPublic(bool):T_PUBLIC
- | isPrivate(bool):T_PRIVATE
-\end{verbatim}}
-
-will generate the \texttt{ASTAccessSpecNode} class as shown in Listing~\ref{lst:astaccessspecnode_api}.
-
-\begin{code}
-\begin{lstlisting}
-public class ASTAccessSpecNode extends ASTNode
-{
- // in ASTAccessSpecNode
- Token isPrivate;
- // in ASTAccessSpecNode
- Token isPublic;
-
- public boolean isPrivate() {...}
-
- public void setIsPrivate(Token newValue) {...}
-
- public boolean isPublic() {...}
-
- public void setIsPublic(Token newValue) {...}
-
- ...
-}
-\end{lstlisting}
-\caption{ASTAccessSpecNode generated from \# R511}
-\label{lst:astaccessspecnode_api}
-\end{code}
-Notice on lines 8 \& 12 that the methods return \lstinline!boolean! values
-instead of \texttt{ASTNode}s. The \lstinline!boolean! values are usually used to
-test the presence of that particular \texttt{ASTNode} in the source code.
-
-\subsubsection{Annotation \#4: Labels}
-
-Specification \# R511 also illustrates the use of \emph{labels} in the grammar
-file: \verb!isPublic(bool):T_PUBLIC! results in a method called
-\texttt{isPublic} instead of \verb!getT_PUBLIC!. The use of labels can greatly
-enhance the readability of the program by making its intent clearer.
-
-\subsubsection{Annotation \#5: \texttt{(inline)}}
-
-Consider the following specifications for a main program in Fortran:
-
-{\footnotesize\begin{verbatim}
-# R1101
-<MainProgram> ::=
- | <MainRange>
- | <ProgramStmt> <MainRange>
-
-<MainRange> ::=
- | <Body> <EndProgramStmt>
- | <BodyPlusInternals> <EndProgramStmt>
- |
-\end{verbatim}}
-
-From the standpoint of a typical Fortran programmer, a main program consists of
-a Program statement, a body (list of statements), perhaps some internal
-subprograms, and an End Program statement. This does not match the definition of
-a \verb!<MainProgram>! in the parsing grammar above: \verb!<Body>! and
-\verb!<EndProgStmt>! are relegated to a separate \verb!<MainRange>! nonterminal.
-
-The solution is to label the MainRange nonterminal with the \texttt{(inline)} annotation, indicating that it is to be in-lined:
-
-{\footnotesize\begin{verbatim}
-# R1101
-(customsuperclass=ScopingNode):<MainProgram> ::=
- | (inline):<MainRange>
- | <ProgramStmt> (inline):<MainRange>
-
-<MainRange> ::=
- | <Body> <EndProgramStmt>
- | (inline):<BodyPlusInternals> <EndProgramStmt>
- |
-\end{verbatim}}
-
-This means that accessor methods that would otherwise be in a separate
-\texttt{ASTMainRangeNode} class will be placed in the
-\texttt{ASTMainProgramNode} class instead.
-Listing~\ref{lst:astmainprogramnode_api} shows that the accessors that were
-previously in \texttt{ASTMainRangeNode} have been in-lined to
-\texttt{ASTMainProgramNode}. Now there is no longer any need for a
-\texttt{ASTMainRangeNode} class.
-
-\begin{code}
-\begin{lstlisting}
-public class ASTMainProgramNode extends ScopingNode implements IProgramUnit
-{
- public ASTProgramStmtNode getProgramStmt()
-
- public void setProgramStmt(ASTProgramStmtNode newValue)
-
- public IASTListNode<IBodyConstruct> getBody()
-
- public void setBody(IASTListNode<IBodyConstruct> newValue)
-
- public ASTContainsStmtNode getContainsStmt()
-
- public void setContainsStmt(ASTContainsStmtNode newValue)
-
- public IASTListNode<IInternalSubprogram> getInternalSubprograms()
-
- public void setInternalSubprograms(IASTListNode<IInternalSubprogram> newValue)
-
- public ASTEndProgramStmtNode getEndProgramStmt()
-
- public void setEndProgramStmt(ASTEndProgramStmtNode newValue)
-
- ...
-}
-\end{lstlisting}
-\caption{\texttt{ASTMainProgramNode} generated from \# R1101}
-\label{lst:astmainprogramnode_api}
-\end{code}
-
-\subsubsection{Annotation \#6: \texttt{(customsuperclass=*)}}
-
-Specification \# R1101 in the previous section also illustrates the use of the
-\\ \texttt{(customsuperclass=ScopingNode)} annotation. This makes
-\texttt{ScopingNode} the parent of the \texttt{ASTMainProgramNode} class. Note
-that \texttt{ScopingNode} (or whichever custom super class is chosen) has to be
-a descendant of \texttt{ASTNode} because every node in the AST has to be of that
-type (either directly or as a descendant).
-
-The \texttt{(customsuperclass=*)} annotation is a useful technique for
-delegating external methods that cannot be expressed through the grammar BNF
-file into a separate hand-coded class while still having the benefits of an
-auto-generated parser and AST.
-
-\subsection{Tokens}
-\label{sub:tokens}
-
-\texttt{Token}s form the leaves of the AST. They record, among other things,
-
-\begin{itemize}
-\item The terminal symbol in the grammar that the token is an instance of (\texttt{getTerminal()})
-\item The actual text of the token (\texttt{getText()})
-\item The line, column, offset, and length of the token text in the source file (\texttt{getLine(), getCol(), getFileOffset(), getLength()})
-\end{itemize}
-
-Most of the remaining fields are used internally for refactoring.
-
-\subsection{Fortran Program AST Example}
-
-The previous sections describe the conventions and additional annotations that
-are used to construct the AST nodes. While the conventions and annotations
-themselves are simple, the Fortran grammar is extremely complicated and contains
-hundreds of rules. Even the simplest Fortran program might contain a very
-complicated AST. For instance this simple Fortran program: \\
-
-\begin{lstlisting}[language=Fortran, frame=lines]
-program main
- integer a
-end
-\end{lstlisting}
-
-generates the AST shown in Figure~\ref{fig:simple_fortran_ast}. As an exercise,
-the reader is encouraged to derive the structure of the AST from the grammar
-specifications in the \emph{fortran2003.bnf} file beginning with \# R201,
-\verb!<ExecutableProgram>!.
-
-%Moreover, modifying our previous program slightly to contain an array as shown
-%below, causes the AST structure to become extremely complicated. The reader is
-%encouraged to create a file containing this program and view the resulting AST
-%in the Outline View in Photran. Notice how the \verb!(5)! expression for
-%specifying the dimension of the array requires building up an entire hierarchy
-%of \texttt{ASTLevel5ExprNode}, \texttt{ASTLevel4ExprNode},
-%\texttt{ASTLevel3ExprNode}, \ldots \\
-%
-%\begin{lstlisting}[language=Fortran, frame=lines]
-%program main
-% integer a(5) ! This declares an array of 5 integers
-%end
-%\end{lstlisting}
-
-
-\begin{image}
- \centering
- \includegraphics[height=4in]{images/simple_fortran_AST.png}
- \caption{AST for simple Fortran program as viewed through the Outline View}
- \label{fig:simple_fortran_ast}
-\end{image}
-
-Fortunately, it is not necessary to know every specification in the grammar. For
-most refactoring and program analysis tasks, it is sufficient to rely on the
-information that the VPG provides. If that is insufficient, then it is usually
-enough to construct a Visitor to visit \emph{only} the nodes of interest and
-``collect'' the information that is required.
-
-\section{AST Structure for DO-Loops}
-
-Due to a deficiency in the parser, DO-constructs are not recognized as a single
-construct; DO and END DO statements are recognized as ordinary statements
-alongside the statements comprising their body. There is a package in the
-core.vpg plug-in called org.eclipse.photran.internal.core.analysis.loops which
-provides machinery to fix this, giving DO-loops a ``proper'' AST structure.
-
-If you call \texttt{LoopReplacer.replaceAllLoopsIn(ast)}, it will identify all
-of the new-style DO-loops and change them to \texttt{ASTProperLoopConstructNode}s,
-which a more natural structure, with a loop header, body, and END DO statement.
-Once this is done, visitors must be implemented by subclassing one of the
-Visitor classes \emph{in the org.eclipse.photran.internal.core.analysis.loops
-package;} these have a callback method to handle
-\texttt{ASTProperLoopConstructNode}s.
-
-\section{Scope and Binding Analysis}
-
-Currently, the only semantic analysis performed by Photran is binding analysis:
-mapping \emph{identifiers} to their \emph{declarations}. Compilers usually do
-this using symbol tables but Photran uses a more IDE/refactoring-based approach.
-
-Certain nodes in a Fortran AST represent a lexical scope. All of these nodes are
-declared as subclasses of \texttt{ScopingNode}:
-
-\begin{itemize}
-\item ASTBlockDataSubprogramNode
-\item ASTDerivedTypeDefNode
-\item ASTExecutableProgramNode
-\item ASTFunctionSubprogramNode
-\item ASTInterfaceBlockNode\footnote{An interface block defines a nested scope only if it is a named interface.Anonymous (unnamed) interfaces provide signatures for subprograms in their enclosing scope.}
-\item ASTMainProgramNode
-\item ASTModuleNode
-\item ASTSubroutineSubprogramNode
-\end{itemize}
-
-Each of the subclasses of \texttt{ScopingNode} represents a scoping unit in
-Fortran. The \texttt{ScopingNode} class has several public methods that provide
-information about a scope. For example, one can retrieve a list of all of the
-symbols declared in that scope; retrieve information about its
-\texttt{IMPLICIT} specification; find its header statement (e.g. a
-\texttt{FUNCTION} or \texttt{PROGRAM} statement); and so forth.
-
-The enclosing scope of a \texttt{Token} can be retrieved by calling the
-following method on the \texttt{Token} object:
-
-\begin{lstlisting}[numbers=none]
-public ScopingNode getEnclosingScope()
-\end{lstlisting}
-
-Identifier tokens (\texttt{Token}s for which \texttt{token.getTerminal() ==
-Terminal.T\_IDENT}), which represent functions, variables, etc. in the Fortran
-grammar, are \emph{bound} to a declaration\footnote{The introduction to VPGs
-earlier in this chapter (URL above) provides an example visually.}. Although,
-ideally, every identifier will be bound to exactly one declaration, this is not
-always the case: the programmer may have written incorrect code, or Photran may
-not have enough information to resolve the binding uniquely). So the
-\texttt{resolveBinding} method returns a \emph{list} of \texttt{Definition}
-objects:
-
-\begin{lstlisting}[numbers=none]
-public List<Definition> resolveBinding()
-\end{lstlisting}
-
-A \texttt{Definition} object contains many public methods which provide a wealth
-of information. From a \texttt{Definition} object, it is possible to get a list
-of all the references to a particular declaration (using
-\texttt{findAllReferences}) and where that particular declaration is located in
-the source code (using \texttt{getTokenRef}). Both of these methods return a
-\texttt{PhotranTokenRef} object. See Section~\ref{sub:token_or_tokenref} for a
-comparison between \texttt{Token} and \texttt{TokenRef}.
-
-\subsection{Examples of Binding Analysis}
-
-\subsubsection{Obtaining the \texttt{Definition} of a variable}
-
-If you have a reference to the \texttt{Token} object of that variable (for
-instance through iterating over all \texttt{Tokens} in the current Fortran AST)
-then use:
-
-\begin{lstlisting}[numbers=none, frame=lines]
-// myToken is the reference to that variable
-List<Definition> bindings = myToken.resolveBinding();
-
-if(bindings.size() == 0)
- throw new Exception(myToken.getText() + " is not declared");
-else if (bindings.size() > 1)
- throw new Exception(myToken.getText() + " is an ambiguous reference");
-
-Definition definition = bindings.get(0);
-\end{lstlisting}
-
-If you do \textbf{not} have a reference to a \texttt{Token} but you know the
-name of the identifier, you can first construct a \emph{hypothetical}
-\texttt{Token} representing an identifier and search for that in a
-\emph{particular} \texttt{ScopingNode} (possibly obtained by calling the static
-method \texttt{ScopingNode.getEnclosingScope(IASTNode node)}).
-\\
-
-\begin{lstlisting}[numbers=none, frame=lines]
-Token myToken = new Token(Terminal.T_IDENT, "myNameOfIdentifier");
-List<PhotranTokenRef> definitions = myScopingNode.manuallyResolve(myToken);
-\end{lstlisting}
-
-If you want to search for the identifier in \textbf{all} \texttt{ScopingNodes}
-for the current source file, then retrieve all the \texttt{ScopingNodes} and
-manually iterate through each one. Remember that the root of the AST is a
-\texttt{ScopingNode} and you may obtain the root of the AST through the
-\texttt{getRoot} method declared in \texttt{IFortranAST}.
-\\
-
-\begin{lstlisting}[numbers=none, frame=lines]
-List<ScopingNode> scopes = myRoot.getAllContainedScopes();
-
-for (ScopingNode scopingNode : scopes)
-{
- // search through each ScopingNode
-}
-\end{lstlisting}
-
-\subsubsection{Examples in \texttt{FortranEditorASTActionDelegate} subclasses}
-
-The following subclasses of \texttt{FortranEditorASTActionDelegate} all contain short working examples of how to use the binding analysis API in Photran:
-\begin{itemize}
- \item DisplaySymbolTable
- \item FindAllDeclarationsInScope
- \item OpenDeclaration
- \item SelectEnclosingScope
-\end{itemize}
-
-\section{How to Get Acquainted with the Program Representation}
-\label{sec:how_to_get_acquainted_with_the_program_representation}
-
-\emph{All these features work on \textbf{Fortran projects}. A new Fortran
-project can be created via File $>$ New $>$ Project\dots $>$ Fortran $>$ Fortran Project. These
-features do not work on individual Fortran source files.}
-
-\subsection{Visualizing ASTs}
-
-Photran can display ASTs in place of the ordinary Outline view.
-This behavior can be enabled from the Fortran workspace preferences:
-
-\begin{itemize}
- \item Click on Window $>$ Preferences in Windows/Linux, or Eclipse $>$ Preferences in Mac OS X.
- \item Select ``Fortran'' on the left hand side of the preference dialog (do not expand it).
- \item Select ``(Debugging) Show entire parse tree rather than Outline view''
-\end{itemize}
-
-Clicking on an AST \texttt{node}Token in the Outline view will move the cursor
-to that construct's position in the source file.
-
-\subsection{Visually Resolving Bindings}
-
-This feature is disabled by default since it requires performing an update on
-the VPG database each time the file is saved -- an operation that could be
-expensive for larger files. To enable this feature, right-click on the current
-Fortran project folder (\textbf{not} the individual Fortran source file) in the
-Fortran Projects View and select ``Properties''. In the dialog that pops-up,
-navigate to Fortran General $>$ Analysis/Refactoring. Select the ``Enable
-Fortran Declaration view'' checkbox.
-
-Then, in a Fortran editor, click on an identifier (position the cursor over
-it), and press F3 (or click Navigate $>$ Open Declaration, or right-click and
-choose Open Declaration.) The binding will be resolved and the declaration
-highlighted. If there are multiple bindings, a pop-up window will open and one
-can be selected. If the identifier is bound to a declaration in a module defined
-in a different file, an editor will be opened on that file.
-
-\subsection{Visualizing Enclosing Scopes}
-
-Click on any token in the Fortran editor, and click Refactor $>$ (Debugging) $>$
-Select Enclosing Scope. The entire range of source text for that token's
-enclosing \texttt{ScopingNode} will be highlighted.
-
-\subsection{Visualizing Definitions}
-
-Open a file in the Fortran editor, and click Refactor $>$ (Debugging) $>$
-Display Symbol Table for Current File. Indentation shows scope nesting, and each
-line summarizes the information in a \texttt{Definition} object.
diff --git a/org.eclipse.photran-dev-docs/dev-guide/plugins.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/plugins.ltx-inc
deleted file mode 100644
index 245a81d..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/plugins.ltx-inc
+++ /dev/null
@@ -1,185 +0,0 @@
-% Plug-in Decomposition
-\section{Introduction}
-
-This chapter presents a high-level overview of the different projects and
-plug-ins in Photran. It serves as a guide for developers reverse-engineering
-Photran to \emph{guess-and-locate} where certain components are. It also serves
-as a guide for contributers on \emph{where} to put their contributions.
-
-The following sections are grouped by feature. A feature is a collection of
-related Eclipse plug-ins that the user can install as a whole.
-
-\section{Base Photran Feature: \\org.eclipse.photran-feature}
-
-The following projects comprise the ``base'' of Photran.
-
-\begin{itemize}
-
-\item \textbf{org.eclipse.photran.cdtinterface}
-
-This contains most of the components (core and user interface) related
-to integration with the CDT. It includes:
-\begin{itemize}
-\item The FortranLanguage class, which adds Fortran to the list of languages
- recognized by CDT
-\item Fortran model elements and icons for the Outline and Fortran Projects views
-\item An extension point for contributing Fortran model builders, and a
- simple lexical analyzer-based model builder (which, generally speaking,
- is not used)
-\item The Fortran perspective, Fortran Projects view, and other CDT-based
- parts of the user interface
-\item New Project wizards and Fortran project templates
-\end{itemize}
-
-For more information about CDT, see Chapter~\ref{cha:cdt}.
-
-\item \textbf{org.eclipse.photran.core}
-
-This is the Photran Core plug-in. It contains much of the Fortran-specific
-``behind the scenes'' functionality:
-
-\begin{itemize}
-\item Utility classes
-\item Error parsers for Fortran compilers
-\item Fortran 95 lexical analyzer
-\item Workspace preferences
-\end{itemize}
-
-\item \textbf{org.eclipse.photran.managedbuilder.core}, \\
- \textbf{org.eclipse.photran.managedbuilder.gnu.ui}, \\
- \textbf{org.eclipse.photran.managedbuilder.ui}
-
-Support for Managed Build projects using the GNU toolchain. Managed by Craig Rasmussen at LANL.
-
-\item \textbf{org.eclipse.photran.ui}
-
-This contains the Fortran-specific components of the user interface:
-
-\begin{itemize}
-\item Fortran Editors
-\item Preference pages
-\end{itemize}
-
-\end{itemize}
-
-\section{Virtual Program Graph (VPG) feature: \\org.eclipse.photran.vpg-feature}
-
-The following projects support parsing, analysis, and refactoring of Fortran
-sources. They are written in Java 5. The Virtual Program Graph is described in
-more detail in Chapter~\ref{cha:parsing}.
-
-\begin{itemize}
-
-\item \textbf{org.eclipse.photran.core.vpg}
-
-This contains the parsing, analysis, and refactoring infrastructure.
-\begin{itemize}
-\item Fortran parser and abstract syntax tree (AST)
-\item Fortran preprocessor (to handle INCLUDE lines)
-\item Parser-based model builder
-\item Virtual Program Graph library (vpg-eclipse.jar)
-\item Photran's Virtual Program Graph (VPG)
-\item Utility classes (e.g., \texttt{SemanticError}, \texttt{LineCol})
-\item Project property pages
-\item Binding analysis (equivalent to symbol tables)
-\item Refactoring/program transformation engine
-\item Refactorings
-\end{itemize}
-
-\item \textbf{org.eclipse.photran.core.vpg.tests}, \\
- \textbf{org.eclipse.photran.core.vpg.tests.failing}
-
-JUnit Plug-in tests for the VPG core plug-in.
-
-All tests in org.eclipse.photran.core.vpg.tests should pass. Test suites and
-test cases are placed in the ``failing'' plug-in project until all of their
-tests pass.
-
-These plug-ins \textit{must} be run as a ``JUnit Plug-in Test'' (\textbf{not} a
-``JUnit Test''). In the launch configuration, the environment variable TESTING
-must be set to some non-empty value. (This ensures that the VPG will not try to
-run in the background and interfere with testing.)
-
-\item \textbf{org.eclipse.photran.ui.vpg}
-
-UI contributions that depend on the \texttt{org.eclipse.photran.core.vpg}
-plug-in. Currently, this includes the Open Declaration action, a project
-property page where the user can customize the search path for Fortran modules
-and include files, Fortran Search support, and all of the actions in the
-Refactor menu.
-
-\item \textbf{org.eclipse.photran.cdtinterface.vpg}
-
-This contributes the Fortran model builder which constructs the model seen in
-the Outline view and Fortran Projects view. It uses the Fortran parser
-contained in the org.eclipse.photran.core.vpg plug-in.
-
-\end{itemize}
-
-\section{XL Fortran Compiler Feature: \\org.eclipse.photran.xlf-feature}
-
-The following are plug-ins to support the
-\href{http://www-306.ibm.com/software/awdtools/fortran/}{XL Fortran compiler}.
-
-\begin{itemize}
-\item \textbf{org.eclipse.photran.core.errorparsers.xlf}, \\
- \textbf{org.eclipse.photran.managedbuilder.xlf.ui}
-
-Support for Managed Build projects using XL toolchains. Managed by Craig
-Rasmussen at LANL.
-
-\end{itemize}
-
-\section{Intel Fortran Compiler Feature: \\org.eclipse.photran.intel-feature}
-
-The following are plug-ins to support the \href{http://www.intel.com/cd/software/products/asmo-na/eng/compilers/284132.htm}{Intel Fortran Compiler}.
-
-\begin{itemize}
-\item \textbf{org.eclipse.photran.core.intel}, \\
- \textbf{org.eclipse.photran.managedbuilder.intel.ui}
-
-Support for Managed Build projects using Intel toolchains. Maintained by Bill
-Hilliard at Intel.
-
-\end{itemize}
-
-\section{Rephraser Engine}
-
-The following plug-ins comprise the Rephraser Engine, a language-independent indexing and
-refactoring infrastructure that serves as the basis for Photran's refactoring engine.
-The Rephraser Engine will contribute a Rephraser Engine Plug-in Developer Guide to the runtime
-workbench (sourced in org.eclipse.rephraserengine.doc.isv); this provides more information about
-these plug-ins. Starred plug-ins are not distributed to end users.
-
-\begin{itemize}
-\item \textbf{org.eclipse.rephraserengine-support}*
-\item \textbf{org.eclipse.rephraserengine.core}
-\item \textbf{org.eclipse.rephraserengine.core.refactoring}
-\item \textbf{org.eclipse.rephraserengine.core.vpg}
-\item \textbf{org.eclipse.rephraserengine.core.vpg.tests}*
-\item \textbf{org.eclipse.rephraserengine.doc.isv}*
-\item \textbf{org.eclipse.rephraserengine.examples.text}*
-\item \textbf{org.eclipse.rephraserengine.ui}
-\item \textbf{org.eclipse.rephraserengine.ui.refactoring}
-\item \textbf{org.eclipse.rephraserengine.ui.vpg}
-\end{itemize}
-
-\section{Non-plug-in projects}
-
-The following projects are in CVS but are not distributed to users:
-
-\begin{itemize}
-
-\item \textbf{org.eclipse.photran-dev-docs}
-
-Developer documentation, including this document (\texttt{dev-guide/*}), CVS
-instructions (\texttt{dev-guide/cvs-instructions.pdf}), the materials from our
-presentation at EclipseCon 2006 on adding a new language to the CDT, and a
-spreadsheet mapping features in the Fortran language to JUnit tests
-(\texttt{language-coverage/*}).
-
-\item \textbf{org.eclipse.photran-samples}
-
-A Photran project containing an assortment of Fortran code.
-
-\end{itemize}
diff --git a/org.eclipse.photran-dev-docs/dev-guide/refactoring.ltx-inc b/org.eclipse.photran-dev-docs/dev-guide/refactoring.ltx-inc
deleted file mode 100644
index be71bce..0000000
--- a/org.eclipse.photran-dev-docs/dev-guide/refactoring.ltx-inc
+++ /dev/null
@@ -1,335 +0,0 @@
-% Refactoring
-
-\section{Introduction}
-
-A refactoring is a program transformation to improve the quality of the source
-code by making it easier to understand and modify. A refactoring is a special
-kind of transformation because it preserves the \emph{observable behavior} of
-your program -- it neither removes nor adds any functionality.\footnote{For more
-information see
-\href{http://www.amazon.com/Refactoring-Improving-Existing-Addison-Wesley-Technology/dp/0201485672}{Refactoring:
-Improving the Design of Existing Code}}.
-
-As mentioned in Chapter~\ref{cha:introduction}, the purpose in writing
-Photran was to create a refactoring tool for Fortran. Because Photran is
-structured as a plug-in for Eclipse, we can take advantage and reuse many of the
-language-neutral support that Eclipse provides for refactoring. This makes it
-possible to create refactoring tools that \emph{resemble} the Java Development
-Tools that most Eclipse programmers are already familiar with.
-
-However, implementing first-class support for Fortran refactoring is not an easy
-task. It requires having an accurate representation of the underlying Fortran
-source files so that our tools can perform proper program analysis to construct
-our automated refactoring. The VPG (see Chapter~\ref{cha:parsing}) is our
-initial step in providing such a representation; the VPG will be improved in
-future versions of Photran to provide support for many different types of
-refactoring and program analysis.
-
-In this chapter, we describe how to add automated refactorings for Fortran using
-the underlying infrastructure provided by Eclipse (and Photran) as well as the
-analysis tools provided by the VPG.
-
-\section{Structure of a Fortran Refactoring}
-\label{sec:structure_of_a_fortran_refactoring}
-
-Refactorings in Photran are subclassed from either
-\texttt{SingleFileFortranRefactoring} or \texttt{MultipleFileFortranRefactoring}.
-Both of these are subclasses of \texttt{AbstractFortranRefactoring}, which
-is in turn a subclass of the \texttt{Refactoring} class provided by the Eclipse
-Language ToolKit (LTK)\footnote{See
-\href{http://www.eclipse.org/articles/Article-LTK/ltk.html}{The Language
-Toolkit: An API for Automated Refactorings in Eclipse-based IDEs} for an
-introduction to the LTK.}.
-
-The LTK is a language-neutral API for supporting refactorings in the Eclipse
-environment. It provides a generic framework to support the following
-functionalities:
-\begin{enumerate}
- \item Invoking the refactoring from the user interface (UI).
- \item Presenting the user with a wizard to step through the refactoring.
- \item Presenting the user with a preview of the changes to be made.
-\end{enumerate}
-
-In other words, the LTK provides a common UI for refactorings: This allows
-refactorings for Java, C/C++, and Fortran to all have the same look and feel.
-
-A concrete Fortran refactoring must implement the following \emph{four} methods:
-\\
-\begin{code}
-\begin{lstlisting}[numbers=none]
-public abstract String getName();
-
-protected abstract void doCheckInitialConditions(RefactoringStatus status,
- IProgressMonitor pm) throws PreconditionFailure;
-
-protected abstract void doCheckFinalConditions(RefactoringStatus status,
- IProgressMonitor pm) throws PreconditionFailure;
-
-protected abstract void doCreateChange(IProgressMonitor pm) throws
- CoreException, OperationCanceledException;
-\end{lstlisting}
-\caption{Abstract methods of \texttt{AbstractFortranRefactoring} class}
-\label{lst:FortranRefactoring_API}
-\end{code}
-
-\texttt{getName} simply returns the name of the refactoring: ``Rename,''
-``Extract Subroutine,'' ``Introduce Implicit None,'' or something similar. This
-name will be used in the title of the wizard that is displayed to the user.
-
-Initial conditions are checked before any wizard is displayed to the user. An
-example would be making sure that the user has selected an identifier to rename.
-If the check fails, a \texttt{PreconditionFailure} should be thrown with a
-message describing the problem for the user.
-
-Final conditions are checked after the user has provided any input. An example
-would be making sure that the new name that that user has provided is a legal
-identifier.
-
-The actual transformation is done in the \texttt{doCreateChange} method, which
-will be called only after the final preconditions are checked. For more information, see Section~\ref{sec:ast_rewriting}.
-
-The \texttt{AbstractFortranRefactoring} class provides a large number of
-\texttt{protected} utility methods common among refactorings, such as a method
-to determine if a token is a uniquely-bound identifier, a method to parse
-fragments of code that are not complete programs, and a \texttt{fail} method
-which is simply shorthand for throwing a \texttt{PreconditionFailure}. It is
-worth reading through the source code for \texttt{AbstractFortranRefactoring} before
-writing your own utility methods.
-
-\section{Creating Changes: AST Rewriting}
-\label{sec:ast_rewriting}
-
-After determining the files that are affected and the actual changes that are
-required for a particular refactoring, manipulating the source code in the
-\texttt{doCreateChange} method is conceptually straightforward.
-
-Instead of manipulating the text in the files directly (by doing a textual find
-\& replace) we use a more scalable approach: manipulating the Abstract Syntax
-Tree (AST) of the source code. This allows us to make changes based on the
-program's semantics and its syntactic structure. This section assumes some
-familiarity with the AST used in Photran. For more information about the AST,
-refer to Section~\ref{sec:virtual_program_graph}.
-
-\subsection{Common Methods for Manipulating the AST}
-
-In the following paragraphs, we describe some of the approaches that are
-currently being used in Photran for manipulating the AST.
-
-\subsubsection{Changing the Text of \texttt{Token}s}
-
-To change the text of a single token, simply call its \texttt{setText} method.
-This is used in \texttt{RenameRefactoring} to rename tokens while preserving the
-``shape'' of the AST.
-\\
-\begin{code}
-\begin{lstlisting}[firstnumber=273, emph={setText}]
-private void makeChangesTo(IFile file, IProgressMonitor pm) throws Error
-{
- try
- {
- vpg.acquirePermanentAST(file);
-
- if (definitionToRename.getTokenRef().getFile().equals(file))
- definitionToRename.getTokenRef().findToken().setText(newName);
-
- for (PhotranTokenRef ref : allReferences)
- if (ref.getFile().equals(file))
- ref.findToken().setText(newName);
-
- addChangeFromModifiedAST(file, pm);
-
- vpg.releaseAST(file);
- }
- catch (Exception e)
- {
- throw new Error(e);
- }
-}
-\end{lstlisting}
-\caption{Use of \texttt{setText} in \texttt{RenamingRefactoring} (see
-RenameRefactoring.java)}
-\end{code}
-
-\subsubsection{Removing/replacing AST Nodes}
-\label{ssub:removing_replacing_AST}
-
-To remove or replace part of an AST, call \texttt{replaceChild},
-\texttt{removeFromTree} or \texttt{replaceWith} on the node itself. These
-methods are defined in the \texttt{IASTNode} interface that all nodes implement.
-Line 107 of Listing~\ref{lst:introimplicitnone_doChange} shows an example of the
-\texttt{removeFromTree} method.
-\\
-
-\begin{code}
-\begin{lstlisting}[firstnumber=7236]
-public static interface IASTNode
-{
- void replaceChild(IASTNode node, IASTNode withNode);
- void removeFromTree();
- void replaceWith(IASTNode newNode);
- ...
-}
-\end{lstlisting}
-\caption{AST manipulation methods in \texttt{IASTNode} (see Parser.java) that
-all AST nodes implement}
-\end{code}
-
-In addition, if the \emph{specific} type of the AST is known, then it is
-possible to just call its \emph{setter} method to directly replace particular
-nodes. For more information on the available setters for each node type, see
-Section~\ref{sub:ordinary_ast_nodes}.
-
-\subsubsection{Inserting new AST Nodes}
-
-Some refactorings require inserting new AST nodes into the current program. For
-instance, the ``Intro Implicit None Refactoring'' inserts new declaration
-statements to make the type of each variable more explicit.
-
-There are \emph{three} steps involved in inserting a new AST node:
-\begin{enumerate}
- \item Constructing the new AST node.
- \item Inserting the new AST node into the correct place.
- \item Re-indenting the new AST node to fit within the current file.
-\end{enumerate}
-
-\paragraph{Constructing the new AST node} The \texttt{AbstractFortranRefactoring} class
-provides convenience methods for constructing new AST nodes. These methods
-should be treated as part of the API for Fortran refactorings . For instance,
-the \texttt{parseLiteralStatement} methods constructs a list of AST nodes for
-use in the ``Intro Implicit None'' refactoring.
-
-\paragraph{Inserting the new AST node} Inserting the new AST node can be
-accomplished using the approach discussed previously in \emph{Removing/replacing AST Nodes}.
-
-\paragraph{Re-indenting the new AST node} It might be necessary to re-indent the
-newly inserted AST node so that it conforms with the indentation at its
-insertion point. The \texttt{Reindenter} utility class provides the static
-method \texttt{reindent} to perform this task. Refer to line 111 of
-Listing~\ref{lst:introimplicitnone_doChange}.
-\\
-
-\begin{code}
-\begin{lstlisting}[firstnumber=95,
-emph={removeFromTree, addChangeFromModifiedAST, Reindenter}]
-protected void doCreateChange(IProgressMonitor progressMonitor) throws
-CoreException, OperationCanceledException
-{
- assert this.selectedScope != null;
-
- for (ScopingNode scope : selectedScope.getAllContainedScopes())
- {
- if (!scope.isImplicitNone()
- && !(scope instanceof ASTExecutableProgramNode)
- && !(scope instanceof ASTDerivedTypeDefNode))
- {
- ASTImplicitStmtNode implicitStmt = findExistingImplicitStatement(scope);
- if (implicitStmt != null) implicitStmt.removeFromTree();
-
- IASTListNode<IBodyConstruct> newDeclarations = constructDeclarations(scope);
- scope.getBody().addAll(0, newDeclarations);
- Reindenter.reindent(newDeclarations, astOfFileInEditor);
- }
- }
-
- this.addChangeFromModifiedAST(this.fileInEditor, progressMonitor);
- vpg.releaseAllASTs();
-}
-\end{lstlisting}
-\caption{Inserting new declarations into an existing scope
-(see \texttt{IntroImplicitNoneRefactoring.java})}
-\label{lst:introimplicitnone_doChange}
-\end{code}
-
-\subsection{Committing Changes}
-
-After all of the changes have been made to a file's AST,
-\texttt{addChangeFromModifiedAST} has to be invoked to actually
-commit the changes. This convenience function creates a new
-\texttt{TextFileChange} for the \emph{entire} content of the file. The
-underlying Eclipse infrastructure performs a \texttt{diff} internally to
-determine what parts have actually changed and present those changes to the user
-in the preview dialog.
-
-\section{Caveats}
-\label{sec:refactoring_caveats}
-
-\textbf{CAUTION:} Internally, the AST is changed only enough to reproduce
-correct source code. After making changes to an AST, most of the accessor
-methods on \texttt{Token}s (\texttt{getLine(), getOffset(),} etc.) will return
-\textit{incorrect} or \emph{null} values.
-
-Therefore, \textit{all program analysis should be done first}; pointers to all
-relevant \textbf{tokens} should be obtained (usually as \texttt{TokenRef}s)
-\textit{prior} to making any modifications to the AST. In general, ensure that
-all analysis (and storing of important information from \texttt{Token}s) should
-be done in the \texttt{doCheckInitialConditions} and
-\texttt{doCheckFinalConditions} methods of your refactoring before the
-\texttt{doCreateChange} method.
-
-\vspace{-0.2in}
-\subsection{\texttt{Token} or \texttt{TokenRef}?}
-\label{sub:token_or_tokenref}
-
-\texttt{Token}s form the leaves of the AST -- therefore they exist as part of
-the Fortran AST. Essentially this means that holding on to a reference to a
-\texttt{Token} object requires the entire AST to be present in memory.
-
-\texttt{TokenRef}s are lightweight descriptions of tokens in an AST. They
-contain only three fields: filename, offset and length. These three fields
-uniquely identify a particular token in a file. Because they are not part of the
-AST, storing a \texttt{TokenRef} does not require the entire AST to be present
-in memory.
-
-For most refactorings, using either \texttt{Token}s or \texttt{TokenRef}s does
-not make much of a difference. However, in a refactoring like ``Rename
-Refactoring'' that could potentially modify hundreds of files, it is impractical
-to store all ASTs in memory at once. Because of the complexity of the Fortran
-language itself, its ASTs can be rather large and complex. Therefore storing
-references to \texttt{TokenRef}s would minimize the number of ASTs that must be
-in memory.
-
-To retrieve an actual \texttt{Token} from a \texttt{TokenRef}, call the
-\texttt{findToken()} method in \texttt{PhotranTokenRef}, a subclass
-of \texttt{TokenRef}.
-
-To create a \texttt{TokenRef} from an actual \texttt{Token}, call the \texttt{getTokenRef} method in \texttt{Token}.
-
-\vspace{-0.2in}
-\section{Examples}
-
-The ``Rename'', ``Introduce Implicit None'' and ``Move COMMON To Module''
-refactorings found in the \texttt{org.eclipse.photran.internal.core.refactoring}
-package inside the \texttt{org.eclipse.photran.core.vpg} project are
-non-trivial but readable and should serve as a model for building future Fortran
-refactorings.
-
-An example of a simpler but rather \emph{useless} refactoring is presented in
-Appendix~\ref{app:obfuscate_refactoring}. It should be taken as a guide on the
-actual steps that are involved in registering a new refactoring with the UI and
-also how to actually construct a working Fortran refactoring.
-
-\section{Common Tasks}
-
-In this section, we briefly summarize some of the common tasks involved in
-writing a new Fortran refactoring.
-
-\noindent \textbf{In an AST, how do I find an ancestor node that is of a
-particular type?}
-\\ Sometimes it might be necessary to traverse the AST \emph{upwards} to look
-for an ancestor node of a particular type. Instead of traversing the AST
-manually, you should call the \texttt{findNearestAncestor(TargetASTNode.class)}
-method on a \texttt{Token} and pass it the \textbf{class} of the ASTNode that
-you are looking for.
-
-\noindent \textbf{How would I create a new AST node from a string?}
-\\ Call the \texttt{parseLiteralStatement(String string)} or
-\texttt{parseLiteralStatementSequence(String string)} method in
-\texttt{AbstractFortranRefactoring}. The former takes a \texttt{String} that represents
-a single statement while the latter takes a \texttt{String} that represents a
-sequence of statements.
-
-\noindent \textbf{How do I print the text of an AST node and all its children
-nodes?}
-\\ Call the \texttt{SourcePrinter.getSourceCodeFromASTNode(IASTNode node)}
-method. This method returns a \texttt{String} representing the source code of
-its parameter; it includes the user's comments, capitalization and whitespace.
diff --git a/org.eclipse.photran-dev-docs/eclipse-config/photran-code-formatter-settings.xml b/org.eclipse.photran-dev-docs/eclipse-config/photran-code-formatter-settings.xml
deleted file mode 100755
index c98606f..0000000
--- a/org.eclipse.photran-dev-docs/eclipse-config/photran-code-formatter-settings.xml
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<profiles version="8">
-<profile name="Jeff" version="8">
-<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="20"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="18"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="18"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="20"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="20"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="20"/>
-<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
-<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_comments" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="100"/>
-<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
-<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="100"/>
-<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
-<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
-<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
-<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
-<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
-<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
-</profile>
-</profiles>
diff --git a/org.eclipse.photran-dev-docs/eclipse-config/photran-ibm-codetemplates.xml b/org.eclipse.photran-dev-docs/eclipse-config/photran-ibm-codetemplates.xml
deleted file mode 100644
index 4d6c3b4..0000000
--- a/org.eclipse.photran-dev-docs/eclipse-config/photran-ibm-codetemplates.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><templates><template autoinsert="true" context="gettercomment_context" deleted="false" description="Comment for getter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name="gettercomment">/**
- * @return the ${bare_field_name}
- */</template><template autoinsert="true" context="settercomment_context" deleted="false" description="Comment for setter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.settercomment" name="settercomment">/**
- * @param ${param} the ${bare_field_name} to set
- */</template><template autoinsert="true" context="constructorcomment_context" deleted="false" description="Comment for created constructors" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name="constructorcomment">/**
- * ${tags}
- */</template><template autoinsert="false" context="filecomment_context" deleted="false" description="Comment for created Java files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.filecomment" name="filecomment">/*******************************************************************************
- * Copyright (c) ${year} IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Research - Initial API and implementation
- *******************************************************************************/</template><template autoinsert="false" context="typecomment_context" deleted="false" description="Comment for created types" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.typecomment" name="typecomment">/**
- *
- * @author ${user}
- */</template><template autoinsert="true" context="fieldcomment_context" deleted="false" description="Comment for fields" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name="fieldcomment">/**
- *
- */</template><template autoinsert="true" context="methodcomment_context" deleted="false" description="Comment for non-overriding methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name="methodcomment">/**
- * ${tags}
- */</template><template autoinsert="true" context="overridecomment_context" deleted="false" description="Comment for overriding methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name="overridecomment">/* (non-Javadoc)
- * ${see_to_overridden}
- */</template><template autoinsert="true" context="delegatecomment_context" deleted="false" description="Comment for delegate methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name="delegatecomment">/**
- * ${tags}
- * ${see_to_target}
- */</template><template autoinsert="true" context="newtype_context" deleted="false" description="Newly created files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.newtype" name="newtype">${filecomment}
-${package_declaration}
-
-${typecomment}
-${type_declaration}</template><template autoinsert="true" context="classbody_context" deleted="false" description="Code in new class type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.classbody" name="classbody">
-</template><template autoinsert="true" context="interfacebody_context" deleted="false" description="Code in new interface type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name="interfacebody">
-</template><template autoinsert="true" context="enumbody_context" deleted="false" description="Code in new enum type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.enumbody" name="enumbody">
-</template><template autoinsert="true" context="annotationbody_context" deleted="false" description="Code in new annotation type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name="annotationbody">
-</template><template autoinsert="true" context="catchblock_context" deleted="false" description="Code in new catch blocks" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.catchblock" name="catchblock">// ${todo} Auto-generated catch block
-${exception_var}.printStackTrace();</template><template autoinsert="true" context="methodbody_context" deleted="false" description="Code in created method stubs" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.methodbody" name="methodbody">// ${todo} Auto-generated method stub
-${body_statement}</template><template autoinsert="true" context="constructorbody_context" deleted="false" description="Code in created constructor stubs" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name="constructorbody">${body_statement}
-// ${todo} Auto-generated constructor stub</template><template autoinsert="true" context="getterbody_context" deleted="false" description="Code in created getters" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.getterbody" name="getterbody">return ${field};</template><template autoinsert="true" context="setterbody_context" deleted="false" description="Code in created setters" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.setterbody" name="setterbody">${field} = ${param};</template></templates>
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/eclipse-config/photran-uiuc-codetemplates.xml b/org.eclipse.photran-dev-docs/eclipse-config/photran-uiuc-codetemplates.xml
deleted file mode 100644
index 03a2384..0000000
--- a/org.eclipse.photran-dev-docs/eclipse-config/photran-uiuc-codetemplates.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><templates><template autoinsert="true" context="gettercomment_context" deleted="true" description="Comment for getter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name="gettercomment">/**
- * @return the ${bare_field_name}
- */</template><template autoinsert="true" context="settercomment_context" deleted="true" description="Comment for setter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.settercomment" name="settercomment">/**
- * @param ${param} the ${bare_field_name} to set
- */</template><template autoinsert="true" context="constructorcomment_context" deleted="true" description="Comment for created constructors" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name="constructorcomment">/**
- * ${tags}
- */</template><template autoinsert="false" context="filecomment_context" deleted="true" description="Comment for created Java files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.filecomment" name="filecomment">/*******************************************************************************
- * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/</template><template autoinsert="false" context="typecomment_context" deleted="true" description="Comment for created types" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.typecomment" name="typecomment">/**
- *
- * @author ${user}
- */</template><template autoinsert="true" context="fieldcomment_context" deleted="true" description="Comment for fields" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name="fieldcomment">/**
- *
- */</template><template autoinsert="true" context="methodcomment_context" deleted="true" description="Comment for non-overriding methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name="methodcomment">/**
- * ${tags}
- */</template><template autoinsert="true" context="overridecomment_context" deleted="true" description="Comment for overriding methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name="overridecomment">/* (non-Javadoc)
- * ${see_to_overridden}
- */</template><template autoinsert="true" context="delegatecomment_context" deleted="true" description="Comment for delegate methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name="delegatecomment">/**
- * ${tags}
- * ${see_to_target}
- */</template><template autoinsert="true" context="newtype_context" deleted="true" description="Newly created files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.newtype" name="newtype">${filecomment}
-${package_declaration}
-
-${typecomment}
-${type_declaration}</template><template autoinsert="true" context="classbody_context" deleted="true" description="Code in new class type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.classbody" name="classbody">
-</template><template autoinsert="true" context="interfacebody_context" deleted="true" description="Code in new interface type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name="interfacebody">
-</template><template autoinsert="true" context="enumbody_context" deleted="true" description="Code in new enum type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.enumbody" name="enumbody">
-</template><template autoinsert="true" context="annotationbody_context" deleted="true" description="Code in new annotation type bodies" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name="annotationbody">
-</template><template autoinsert="true" context="catchblock_context" deleted="true" description="Code in new catch blocks" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.catchblock" name="catchblock">// ${todo} Auto-generated catch block
-${exception_var}.printStackTrace();</template><template autoinsert="true" context="methodbody_context" deleted="true" description="Code in created method stubs" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.methodbody" name="methodbody">// ${todo} Auto-generated method stub
-${body_statement}</template><template autoinsert="true" context="constructorbody_context" deleted="true" description="Code in created constructor stubs" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name="constructorbody">${body_statement}
-// ${todo} Auto-generated constructor stub</template><template autoinsert="true" context="getterbody_context" deleted="true" description="Code in created getters" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.getterbody" name="getterbody">return ${field};</template><template autoinsert="true" context="setterbody_context" deleted="true" description="Code in created setters" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.setterbody" name="setterbody">${field} = ${param};</template></templates>
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/fortran-nature/Bugzilla-info.txt b/org.eclipse.photran-dev-docs/fortran-nature/Bugzilla-info.txt
deleted file mode 100644
index a283e06..0000000
--- a/org.eclipse.photran-dev-docs/fortran-nature/Bugzilla-info.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Submitted by Matt Scarpino - mattscar@yahoo.com or matt.scarpino@eclipseengineer.com
-2009-07-18
-https://bugs.eclipse.org/bugs/show_bug.cgi?id=277879
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/fortran-nature/README.txt b/org.eclipse.photran-dev-docs/fortran-nature/README.txt
deleted file mode 100644
index 4eeb6cb..0000000
--- a/org.eclipse.photran-dev-docs/fortran-nature/README.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-The submitted patch serves two purposes: it assigns an 'F' icon to all Fortran source files (*.f, *.f77, etc.) and assigns a project nature image for Fortran projects. This is shown in the attached screenshot.
-
-The first part is easy to understand. The Fortran file navigator (represented by org.eclipse.photran.cdtinterface.ui.FortranView), uses a label provider to assign text/images to resources in the workspace. The CDT view uses a CViewLabelProvider for this, and I created a subclass called FViewLabelProvider. This checks the suffix of source files in the Fortran navigator and assigns f_file_obj.gif to any Fortran files.
-
-The second part is more involved. To ensure that Fortran projects can be distinguished from other projects, I took the following steps:
-
-1. Created a class called org.eclipse.photran.core.FProjectNature, which is essentially a copy of the CDT's CProjectNature. Defined an extension for the nature (org.eclipse.core.resources.natures) in plugin.xml.
-
-2. Defined an extension for org.eclipse.ui.ide.projectNatureImages in org.eclipse.photran.ui. This tells Eclipse to display the Fortran project icon (f_ovr.gif) whenever a project's *first* nature is org.eclipse.photran.core.fnature.
-
-3. Added code to FortranProjectWizard so that all Photran created projects have Fortran nature in addition to C nature. Added a lot of code so that this nature is the project's *first* nature. This doesn't affect any of the other natures, but it ensures that the Fortran icon will be displayed whenever the project is shown.
-
-Two last notes. The FViewLabelProvider only works if f_file_obj.gif is placed in the icons folder in the org.eclipse.photran.cdtinterface plug-in. I created my own icon for the project nature (f_ovr.gif), and it must be placed in the icons/full/obj16 folder in the org.eclipse.photran.ui plug-in.
-
-If you have any questions or comments, please e-mail me at matt.scarpino@eclipseengineer.com.
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/fortran-nature/screenshot.gif b/org.eclipse.photran-dev-docs/fortran-nature/screenshot.gif
deleted file mode 100644
index 3713050..0000000
--- a/org.eclipse.photran-dev-docs/fortran-nature/screenshot.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/language-coverage/Fortran 95 Feature Coverage.xls b/org.eclipse.photran-dev-docs/language-coverage/Fortran 95 Feature Coverage.xls
deleted file mode 100644
index 2ed49b2..0000000
--- a/org.eclipse.photran-dev-docs/language-coverage/Fortran 95 Feature Coverage.xls
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/misc-notes/cdt-outline-view-icons.txt b/org.eclipse.photran-dev-docs/misc-notes/cdt-outline-view-icons.txt
deleted file mode 100644
index 74a6013..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/cdt-outline-view-icons.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-How do icons make their way into the CDT Outline view?
-
-The Outline view basically displays one translation unit's (file's) part
-of the CModel (ICElement hierarchy). The icons displayed are based on
-the types of the individual ICElements in the hierarchy (see
-ICElement.getElementType()).
-
-CContentOutlinePage creates a DecoratingCLabelProvider around a
-StandardCElementLabelProvider, which inherits from an
-AppearanceAwareLabelProvider, which inherits from CUILabelProvider,
-which uses a CElementImageProvider to load icons from the resource bundle
-for the UI plugin by creating URLs to the individual icons.
-
-See CElementImageProvider#getImageLabel, which calls
-getCImageDescriptor, which calls getBaseImageDescriptor, which is where
-there lies a giant case statement lies, which returns the ImageDescriptor.
-
---JO 6/28/05
diff --git a/org.eclipse.photran-dev-docs/misc-notes/cs427fa08-mp5-summary.pdf b/org.eclipse.photran-dev-docs/misc-notes/cs427fa08-mp5-summary.pdf
deleted file mode 100644
index 0c95543..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/cs427fa08-mp5-summary.pdf
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-dev-docs/misc-notes/fixed-form-note-from-dirk.txt b/org.eclipse.photran-dev-docs/misc-notes/fixed-form-note-from-dirk.txt
deleted file mode 100644
index 8a12358..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/fixed-form-note-from-dirk.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-From: Dirk Rossow <rossow@foni.net>
-Date: 04/19/2005 01:00 PM
-
-Subject: FixedFormParser
-
-
-Hi Jeff,
-
-i have worked on the fixed form lexer and sending you my first results. It
-looks very promising that far. The details:
-
-FixedFormLexerPrepass preprocesses the input stream. It discards all
-whitespaces and comment lines and concatenates continuation lines.
-Additional it holds a mapping to the character-positions in the file (for
-correct start/end line/col in the Token objects).
-
-The modified InputStream is feed to FixedFormLexerPhase1, which is a
-modified copy of your FreeFormLexerPhase1. The mods are:
-
-Handling of hollerith constants (This is missing in your
-FreeFormLexerPhase1)
-A new state which is active at the start of line. Needed this for
-hollerith-handling
-A new state for IDENT-matching. It only gets active if no keyword matches. I
-added this because there are no whitespaces delimiting the tokens and for
-example callsubname needs to get matched as T_CALL T_IDENT. So the lexer
-tries first to match a token ignoring IDENTs. If there is no match, an IDENT
-is matched and returned.
-
-
-FixedFormLexerPhase1 feeds FixedFormLexerPhase2, which uses your
-FreeFormLexerPhase2.
-After your phase2lexer has processed the tokens, it checks if IDENT-Tokens
-need to get concatenated. This can happen if for example:
-callsubname=0
-T_CALL T_IDENT T_EQUAL T_ICON
-gets converted by your phase2lexer to
-T_IDENT T_IDENT T_EQUAL T_ICON
-
-Finally i modified your FreeFormLexerPhase2 and the generated Parser to
-support different Lexers. I simply added an Interface Ilexer.
-
-I did not commit anything to the repository, i thought you first want to
-have a look.
-There are still some bugs in the FreeFormLexerPhase2. You can find examples
-for them in the fixedTestFiles/regressionTestFiles folder. They are
-slashesInFormat.f, statusEqAfterIf.f, typeSpecAsIdent.f and impliedLoop.f.
-
-I added some of our fortran-code for testing my work, please dont add it to
-the repository.
-
-I hope my explanations are understandable and you like what i did :-) Dont
-hesitate to contact me if you have questions.
-
-Have a nice day
- Dirk
diff --git a/org.eclipse.photran-dev-docs/misc-notes/links.txt b/org.eclipse.photran-dev-docs/misc-notes/links.txt
deleted file mode 100644
index 193aa56..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/links.txt
+++ /dev/null
@@ -1 +0,0 @@
-http://wiki.eclipse.org/Development_Conventions_and_Guidelines
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/deployment.txt b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/deployment.txt
deleted file mode 100644
index e72669a..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/deployment.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-% removed from app-cvs.ltx-inc
-
-\vspace{1em}
-\noindent\textbf{Part~IV. Deploying Photran Feature}
-\begin{enumerate}
- \setcounter{enumi}{\value{running_counter}}
- \item If you are interested in creating a \emph{deployable feature} for
- Photran, you also need to check out these \textbf{additional} four
- projects from CVS:
- \begin{itemize}
- \item org.eclipse.photran-feature
- \item org.eclipse.photran.intel-feature
- \item org.eclipse.photran.vpg-feature
- \item org.eclipse.photran.xlf-feature
- \end{itemize}
- \item In Eclipse, select File $>$ Export\ldots
- \item In the dialog that pops-up, select Plug-in Development $>$ Deployable features.
- \item Click next.
- \item In the list, select
- \begin{itemize}
- \item org.eclipse.photran\_feature (4.0.4)
- \item org.eclipse.photran.intel (4.0.4)
- \item org.eclipse.photran.vpg\_feature (4.0.4)
- \item org.eclipse.photran.xlf\_feature (4.0.4)
- \end{itemize}
- \item Specify a destination folder to export those features. Click Finish.
- \item The Photran features are ready for deployment.
-\end{enumerate}
\ No newline at end of file
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-03-cdt.tex b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-03-cdt.tex
deleted file mode 100644
index d9a7cf5..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-03-cdt.tex
+++ /dev/null
@@ -1,191 +0,0 @@
-% CDT Integration
-
-Previous versions of Photran were developed by hacking the CDT: essentially,
-we made the user interface say ``Fortran'' instead of ``C/C++,'' we replaced the
-model builder (which creates the Outline view, among other things) with one
-that ran a Fortran parser, we changed the list of file extensions, and we
-modified the syntax highlighting code to recognize Fortran comments and
-keywords.
-
-Starting with Photran 3.0, we are taking a fundamentally different approach:
-\begin{itemize}
-\item We rename the C/C++ Perspective to the Make Perspective. We replace
-the four project types (C Standard Make Project, C++ Standard Make Project,
-C Managed Make Project, and C++ Managed Make Project) with two generic
-project types (Standard Make Project and Managed Make Project). We also
-change the launcher's menu item to read ``Run Local Application'' rather
-than ``Run Local C Application.'' These are all superficial changes
-(i.e., changes to labels and icons, not to the underlying code). The
-Make project types use the natures formerly used for C projects.
-\item We add an extension point to the CDT which allows it to recognize
-other languages besides C and C++.
-\end{itemize}
-
-\section{Integrating with the CDT: The \texttt{AdditionalLanguages}
- Extension Point}
-
-The org.eclipse.photran.xyzsamplelang project is a simple example of how
-to integrate a new language into the CDT. Its README is included in an
-appendix.
-
-Essentially, the process of integrating a new language into the CDT works
-as follows:
-\begin{itemize}
-
-\item Create a new plug-in with an editor. (Obviously, you will eventually
-want to customize the editor for your language.)
-
-\item For each filename extension supported by your editor (i.e., each
-filename extension for files in your language), declare a (text) content type.
-\begin{verbatim}
- <extension point="org.eclipse.core.runtime.contentTypes">
- <content-type id="xyzSource" name="XYZ Language Source File"
- base-type="org.eclipse.core.runtime.text"
- priority="high"/>
- <file-association
- content-type="xyzSource"
- file-extensions="xyz"/>
- </extension>
-\end{verbatim}
-
-\item Specify org.eclipse.cdt.core as a dependency of your plug-in, and
-declare in your \texttt{plugin.xml} that you are extending the
-org.eclipse.cdt.core.AdditionalLanguages extension point.
-\begin{verbatim}
- <extension point="org.eclipse.cdt.core.AdditionalLanguages">
- <language class="addl_langs.XYZLanguage"/>
- </extension>
-\end{verbatim}
-You must provide the fully-qualified name of a class
-(\texttt{addl\_langs.XYZLanguage}, in this case which implements the
-\texttt{org.eclipse.cdt.core.addl\_langs.IAdditionalLanguage} interface.
-
-\item Fill in the definition of that class. See the JavaDoc in
-\texttt{IAdditionalLanguage} for more information.
-\begin{itemize}
-\item \texttt{getName} just returns the name of the language
-(Fortran, XYZ Sample Language, etc.)
-\item \texttt{getRegisteredContentTypeIds} returns a list of all of
-the content types you declared above. The content type names must
-be fully qualified, i.e., the name of the plug-in followed by the name
-of the content type, e.g., \texttt{XyzLanguagePlugIn.xyzSource}
-or \texttt{org.eclipse.photran.core.fortranSource}.
-\item \texttt{createModelBuilder} returns a model builder for your
-language. Look at the \texttt{ToyModelBuilder} in the XYZ Sample Language
-project for a (trivial) example of how a model builder works, and
-see the JavaDoc for \texttt{IModelBuilder} for a more complete description.
-In essence,
-\begin{itemize}
-\item It must implement \texttt{IModelBuilder}.
-\item Its constructor takes a \texttt{TranslationUnit}, i.e., the file
-for which a model needs to be created.
-\item The \texttt{parse} method return a Map taking
-\texttt{ICElement}s to \texttt{CElementInfo}s, which contains all of the
-elements that should appear in the Outline for the translation unit
-specified in the constructor. Use can either reuse the various implementations
-of \texttt{ICElement} in the CDT (\texttt{Macro, Namespace,
-FunctionDeclaration,} etc.), or you can create your own (with their own
-icons) by implementing \texttt{IAdditionalLanguageElement}.
-\end{itemize}
-\end{itemize}
-
-\item In the constructor for your editor, use the CDT UI plug-in's document
-provider rather than your own, i.e.,
-\begin{verbatim}
-setDocumentProvider(CUIPlugin.getDefault().getDocumentProvider());
-\end{verbatim}
-
-\item Since you don't have your own document provider anymore, set up
-your partitioner by overriding
-\begin{verbatim}
-protected void doSetInput(IEditorInput input)
-\end{verbatim}
-and setting it up there.
-
-\item Reuse the Outline page provided by CDT by copying the following
-field and methods from \texttt{FortranEditor} into
-your editor (notice that we are passing \texttt{null} into the
-constructor for \texttt{CEditorOutlinePage}; this doesn't seem to hurt
-anything):
-\begin{verbatim}
- protected CContentOutlinePage fOutlinePage;
-
- public Object getAdapter(Class required) { ... }
-
- public CContentOutlinePage getOutlinePage() { ... }
-
- public static void setOutlinePageInput(CContentOutlinePage page,
- IEditorInput input) { ... }
-\end{verbatim}
-
-\item If you want your editor to jump to the correct location when something
-is selected in the Outline view, it needs to implement
-\texttt{ISelectionChangedListener}. (If you don't require this, remove
-the line ``\texttt{fOutlinePage.addSelectionChangedListener(this);}''
-from the code copied above.) We implemented \texttt{ISelectionChangedListener}
-by copying the following methods verbatim from \texttt{CEditor}:
-\begin{verbatim}
- public void selectionChanged(SelectionChangedEvent event) { ... }
-
- private boolean isActivePart() { ... }
-
- public void setSelection(ISourceRange element, boolean moveCursor) { ... }
-\end{verbatim}
-
-\item If you want to be able to set breakpoints in your editor, add this
-line to the constructor for your editor class:
-\begin{verbatim}
- // JO: This gives you a "Toggle Breakpoint" action (and others)
- // when you right-click the Fortran editor's ruler
- setRulerContextMenuId("#CEditorRulerContext"); //$NON-NLS-1$
-\end{verbatim}
-
-\item If you want the CDT's Refactor menu to appear in your editor, add this
-line to the constructor for your editor class:
-\begin{verbatim}
- // JO: This will put the Refactor menu in the editor's
- // context menu, among other things
- setEditorContextMenuId("#CEditorContext"); //$NON-NLS-1$
-\end{verbatim}
-
-\end{itemize}
-
-\section{Photran-CDT Integration}
-
-Photran is integrated into the CDT in the same way described above.
-\begin{itemize}
-
-\item The Photran Core plug-in
-defines a class \texttt{FortranLanguage}, which implements
-\texttt{IAdditionalLanguage}, and hooks it into the (new)
-\texttt{AdditionalLanguages} extension point in the CDT core.
-
-\item Photran's Core plugin.xml defines a content type
-\texttt{org.eclipse.photran.core.fortranSource}; \texttt{FortranLanguage}
-notifies the CDT that we want it to treat this content type as a valid
-source language.
-
-\item We provide a \texttt{FortranModelBuilder}, which
-runs our Fortran parser over a source file to create a CDT-compatible
-model.
-
-\begin{itemize}
-
-\item Rather than using the CDT's model elements, we provide our own
-model elements, which are all subclasses of \texttt{FortranElement}.
-(\texttt{FortranElement} implements \texttt{IAdditionalLanguageElement}.)
-
-\item The icons corresponding to \texttt{FortranElement}s
-are stored in the org.eclipse.photran.cdtinterface plug-in.\footnote{
-The Photran UI plug-in would be the logical place to store these icons.
-However, the UI already has the Core as a dependency. The icon requests
-come from the \texttt{FortranElement}s in the Core, so if they had to be
-retrieved from the UI, we would introduce a circular dependency. So we put
-them in their own plug-in.}
-
-\end{itemize}
-
-\item The Core plug-in also contributes several error parsers,
-which are described in the next section.
-
-\end{itemize}
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-06-parser.tex b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-06-parser.tex
deleted file mode 100644
index 8a0cf42..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-06-parser.tex
+++ /dev/null
@@ -1,185 +0,0 @@
-% The Photran Lexers and Parser
-
-The Fortran 95 lexers and parser are stored in the org.eclipse.photran.parser
-project. Because this project takes several minutes and a lot of memory
-(600-800 MB) to compile, it is exported as a (non-sealed) JAR archive,
-\texttt{f95parser.jar}, which is stored in the Core plug-in. The Core,
-Managed Builder, and UI use classes from this JAR file, not from the
-org.eclipse.photran.parser project. So you do \textit{not} need the
-org.eclipse.photran.parser project in your workspace unless you will be
-regenerating this JAR file.
-
-\section{Accessing the Lexers and Parser from Photran: The
- \texttt{FortranProcessor}}
-
-(The following does \textit{not} apply to JUnit tests.)
-
-To scan or parse a file, or to build a symbol table from a parse tree,
-create a \texttt{FortranProcessor} and use it. It knows how to distinguish
-between fixed and free form file extensions based on the user's workspace
-preferences and can determine whether or not parser debugging has been
-enabled (also in the workspace preferences).
-
-Examples:
-\begin{itemize}
-\item Parsing a file: See \texttt{FortranModelBuilder\#parse}
-\item Lexing a file without parsing:
- See \texttt{FortranPartitionScanner\#documentChanged}
-\item Creating a symbol table after a file has been parsed:
- (TODO-Jeff: No good examples yet)
-\end{itemize}
-
-\section{Structure of the Lexers and Parser}
-
-Unfortunately, Fortran is not an easy language to process. It has two
-\textit{source forms,} and keywords are not reserved (so it's fine to call a
-variable ``if''). This greatly complicates lexical analysis. To make
-things as simple as possible, we have separated the lexical analysis into
-several phases, depending on whether the input is in free form or fixed
-form.
-
-When a free form source file is being parsed...
-\begin{itemize}
-
-\item \texttt{FreeFormLexerPhase1}, which is generated from
-\texttt{FreeFormLexerPhase1.flex} by JFlex, splits the input into tokens.
-Tokens such as ``if,'' ``do,'' ``len=,'' etc. are labeled as keywords,
-even if they are being used as identifiers (it doesn't know any better).
-
-\item \texttt{FreeFormLexerPhase2} reads the token stream from
-\texttt{FreeFormLexerPhase1} and buffers an entire statement worth of
-tokens. It then uses Sale's algorithm and an elaborate set of rules
-(specified in the method \texttt{buildAdditionalRules}) to determine which
-keyword tokens should be kept as keywords and which ones should actually
-be identifiers. In the case of ``keywords'' with an equal sign on the end
-(such as ``len=''), if that token should really be an identifier, it is
-split into two tokens: the identifier ``len'' and the = token T\_EQUALS.
-
-\item The \texttt{Parser}, which is generated from \texttt{Fortran95.bnf}
-by my parser generator, reads the tokens from \texttt{FreeFormLexerPhase2}
-and parses the token stream, returning a parse tree. The parse tree is
-described in more detail later.
-
-\end{itemize}
-
-When a fixed form source file is being parsed...
-\begin{itemize}
-
-\item \texttt{FixedFormLexerPrepass} discards whitespace and comments
-and concatenates continuation lines.
-
-\item \texttt{FixedFormLexerPhase1}, which is generated from
-\texttt{FreeFormLexerPhase1.flex} by JFlex, splits the input into tokens.
-Essentially, it is identical to \texttt{FreeFormLexerPhase1}, except that
-there are no rules for whitespace, comments, or line continuations.
-
-\item \texttt{FreeFormLexerPhase2} reads the token stream from
-\texttt{FixedFormLexerPhase1}, resolving identifiers as it does for free form
-input.
-
-\item \texttt{FixedFormLexerPhase2} reads the token stream from
-\texttt{FreeFormLexerPhase2} and concatenates consecutive identifiers.
-
-\item The \texttt{Parser} reads the tokens from \texttt{FixedFormLexerPhase2}.
-
-\end{itemize}
-
-\section{Parse Trees}
-
-\subsection{Overview}
-\textit{
-\textbf{NOTE.}
-We expect that you already know what a parse tree is and what the difference
-is between abstract and concrete syntax. Terms like ``terminal,''
-``nonterminal,'' and ``token'' should be familiar. If they are not,
-you will need to spend some time with the Dragon book\footnote{Aho, Sethi,
-and Ullman, \textit{Compilers: Principles, Techniques, and Tools}} before
-tackling this section.}
-
-When you call one of the \texttt{parse} methods on a \texttt{FortranProcessor},
-either an exception will be thrown (if the lexer or parser encounters an
-error), or the method will return a (non-null) parse tree.
-
-A parse tree is just a tree of \texttt{ParseTreeNode}s with \texttt{Token}s
-as leaves. The \texttt{ParseTreeNode} returned by the \texttt{parse} method
-is the root of the parse tree.
-
-The parse tree for a program \textit{exactly} follows the derivation of the
-program from the grammar in \texttt{Fortran95.bnf}. It is literally a
-parse tree, also known as a concrete syntax tree; it is \textit{not} an
-abstract syntax tree (AST).\footnote{If you want to know why we didn't use an
-abstract syntax tree, see the appendix on Miscellaneous Parser and Language
-Processing Notes.}
-
-It is important to remember that the grammar in
-\texttt{Fortran95.bnf} is different than the one in the Fortran standard.
-The grammar in the Fortran standard is \textit{not} LALR(1)---not even
-close---and so it had to be modified (quite heavily) to successfully
-generate a parser from it. So the parse trees you get from our parser are
-\textit{not} always going to match what the Fortran standard grammar would
-lead you to expect. For example, there is no SFExpr in the Fortran standard
-grammar, but you will find them popping up in your parse trees.
-
-\textbf{TIP.}
-When running Photran, go into your workspace preferences; in the Fortran Parser
-section, there is an (very useful) option to ``display parse tree rather
-than normal Outline view.''
-
-\subsection{An Example}
-
-\begin{figure}[h]
-\centering
-\includegraphics[width=5in]{images/parsetree1.png}
-\caption{Sample program and its parse tree}
-\label{parsetree}
-\end{figure}
-
-Figure \ref{parsetree} shows a trivial program and its parse tree.
-
-\begin{itemize}
-
-\item The node labels in angle brackets, such as $<$xExecutableProgram$>$ and
-$<$xProgramStmt$>$, are nonterminals in the grammar and correspond to
-\texttt{ParseTreeNodes} in the parse tree.\footnote{Note that $<$Free Form
-Source$>$ (at the top of the Outline view) is just a label and not part of
-the parse tree.}
-
-\item Terminals in the grammar have names starting with T\_: for example,
-T\_PROGRAM is the ``program'' keyword and T\_IDENT is an identifier.
-Notice that the carriage return is also a token: end-of-statement (T\_EOS).
-In the figure, these identify \texttt{Token}s in the parse
-tree.\footnote{The distinction between terminals and tokens is somewhat
-subtle. Terminals are things like ``identifier,'' ``plus sign,'' and
-``float'' that appear in a grammar. Tokens are the actual chunks of text
-from your input file, such as ``hello,'' ``+,'' and ``3.14.'' Every token
-\textit{corresponds} to a terminal, e.g., ``hello'' is an identifier,
-``+'' is (the only representation of) a plus sign, and ``3.14'' is a
-float.}
-
-\end{itemize}
-
-Recall that each parse tree node corresponds to a nonterminal (on the
-left-hand side of a production in the grammar) and each token corresponds
-to a terminal.
-
-You can determine the nonterminal corresponding to a \texttt{ParseTreeNode}
-by invoking \texttt{ParseTreeNode\#getRootNonterminal}. (This method name
-will soon be changed to \texttt{getCorrespondingNonterminal} or something
-more intuitive like that.) This will return a \texttt{Nonterminal}. The
-only valid \texttt{Nonterminal}s are all constants in the \texttt{Nonterminal}
-class, so you can do identity comparisons like this:
-\begin{verbatim}
-if (parseTreeNode.getRootNonterminal() == Nonterminal.XEXECUTABLEPROGRAM) ...
-\end{verbatim}
-
-Similarly, you can determine the terminal corresponding to a token by
-calling \texttt{Token\#getTerminal} and doing an identity comparison, as in
-\begin{verbatim}
-if (token.getTerminal() == Terminal.T_IDENT) ...
-\end{verbatim}
-You can get the text of the token (``Hello'' for the only T\_IDENT in
-Figure \ref{parsetree}) by calling \texttt{Token\#getText}.
-
-\texttt{Terminal}s and \texttt{Nonterminal}s both have a
-\texttt{getDescription} method which returns a (String) description of that
-terminal or nonterminal, e.g., ``T\_IDENT'' or ``$<$xExecutableProgram$>$.''
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-07-analysis.tex b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-07-analysis.tex
deleted file mode 100644
index 114ab68..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-07-analysis.tex
+++ /dev/null
@@ -1,194 +0,0 @@
-% Parse Tree Analysis
-
-\textit{NOTE. This section assumes that you are familiar with the Visitor
-pattern\footnote{See Gamma, Helm, Johnson, and Vlissides, \textit{Design
-Patterns}} and are familiar with symbol tables\footnote{See Aho, Sethi, and
-Ullman, \textit{Compilers: Principles, Techniques, and Tools}}.}
-
-\section{Visitors}
-
-When you want to retrieve structural information about a program, typically
-it will be done using a Visitor on the parse tree.
-
-There are two types of Visitors available in Photran.
-\begin{itemize}
-
-\item A \texttt{ParseTreeVisitor} has a ``callback'' method for each nonterminal
-in the grammar. The tree is traversed in preorder, and as each node is visited,
-a call is made to the Visitor method corresponding to the nonterminal for that node.
-This is usually the preferred Visitor to use.
-
-\item A \texttt{GenericParseTreeVisitor} only distinguishes between
-\texttt{ParseTreeNode}s and \texttt{Token}s. This Visitor should only be used
-when all internal nodes are treated similarly. If you need to distinguish between
-the types of internal nodes, use a \texttt{ParseTreeVisitor} instead.
-
-\end{itemize}
-
-(\texttt{ParseTreeVisitor} is generated by the parser generator and should not
-be modified.)
-
-In addition to the visit methods, both types of Visitors have a
-\texttt{preparingToVisitChildrenOf} method, which is called after a node has
-been visited but before its children have, and a \texttt{doneVisitingChildrenOf}
-method, which is called immediately after its children have been visited but
-before any sibling nodes have.
-
-\subsection{Creating and Using a Visitor}
-
-Create a visitor by subclassing \texttt{ParseTreeVisitor} or
-\texttt{GenericParseTreeVisitor}. By default, all of the visit methods do
-nothing, so you only have to override the methods that are useful to you.
-
-Given the root of the parse tree (i.e., the \texttt{ParseTreeNode} returned
-by \texttt{FortranProcessor\#parse}), use the \texttt{visitUsing} method
-to traverse the parse tree; pass your visitor as the only argument.
-
-\subsection{Sample Traversals}
-
-As an example, consider again the ``do nothing'' program from Figure \ref{parsetree}.
-
-When it is visited using a \texttt{GenericParseTreeVisitor}, the Visitor
-methods are called in this order (methods called between \texttt{preparingToVisitChildrenOf}
-and \texttt{doneVisitingChildrenOf} are indented to illustrate that child nodes
-are being visited):
-
-\begin{verbatim}
-visitParseTreeNode(<xExecutableProgram>)
-preparingToVisitChildrenOf(<xExecutableProgram>)
- visitParseTreeNode(<xProgramUnit>)
- preparingToVisitChildrenOf(<xProgramUnit>)
- visitParseTreeNode(<xMainProgram>)
- preparingToVisitChildrenOf(<xMainProgram>)
- visitParseTreeNode(<xProgramStmt>)
- preparingToVisitChildrenOf(<xProgramStmt>)
- visitToken(T_PROGRAM: "program")
- visitParseTreeNode(<xProgramName>)
- preparingToVisitChildrenOf(<xProgramName>)
- visitToken(T_IDENT: "Hello")
- doneVisitingChildrenOf(<xProgramName>)
- visitToken(T_EOS: (end of line))
- doneVisitingChildrenOf(<xProgramStmt>)
- visitParseTreeNode(<xMainRange>)
- preparingToVisitChildrenOf(<xMainRange>)
- visitParseTreeNode(<xEndProgramStmt>)
- preparingToVisitChildrenOf(<xEndProgramStmt>)
- visitToken(T_END: "end")
- visitToken(T_PROGRAM: "program")
- visitToken(T_EOS: (end of line))
- doneVisitingChildrenOf(<xEndProgramStmt>)
- doneVisitingChildrenOf(<xMainRange>)
- doneVisitingChildrenOf(<xMainProgram>)
- doneVisitingChildrenOf(<xProgramUnit>)
-doneVisitingChildrenOf(<xExecutableProgram>)
-\end{verbatim}
-
-When it is visited using a \texttt{ParseTreeVisitor}, the Visitor
-methods are called in this order:
-
-\begin{verbatim}
-visitXexecutableprogram(<xExecutableProgram>)
-preparingToVisitChildrenOf(<xExecutableProgram>)
- visitXprogramunit(<xProgramUnit>)
- preparingToVisitChildrenOf(<xProgramUnit>)
- visitXmainprogram(<xMainProgram>)
- preparingToVisitChildrenOf(<xMainProgram>)
- visitXprogramstmt(<xProgramStmt>)
- preparingToVisitChildrenOf(<xProgramStmt>)
- visitXprogramname(<xProgramName>)
- preparingToVisitChildrenOf(<xProgramName>)
- doneVisitingChildrenOf(<xProgramName>)
- doneVisitingChildrenOf(<xProgramStmt>)
- visitXmainrange(<xMainRange>)
- preparingToVisitChildrenOf(<xMainRange>)
- visitXendprogramstmt(<xEndProgramStmt>)
- preparingToVisitChildrenOf(<xEndProgramStmt>)
- doneVisitingChildrenOf(<xEndProgramStmt>)
- doneVisitingChildrenOf(<xMainRange>)
- doneVisitingChildrenOf(<xMainProgram>)
- doneVisitingChildrenOf(<xProgramUnit>)
-doneVisitingChildrenOf(<xExecutableProgram>)
-\end{verbatim}
-
-(The Visitors used to generate the output above are stored in
-a JUnit test class called \texttt{ExampleVisitor}.)
-
-\section{The \texttt{ParseTreeSearcher}}
-
-Inside Visitor methods, typically you will want to look for particular tokens
-or syntactic structures.
-
-\subsection{An Example}
-
-Consider the following (randomly selected) method from \texttt{DeclarationCollector},
-one of the classes used for building symbol tables.
-This class scans a program's parse tree, looking for declarations of programs, functions,
-block data, namelists, etc., and inserts declarations for them into a symbol table.
-
-\begin{verbatim}
- public void visitXmainprogram(ParseTreeNode node)
- {
- // # R1101 desn"t ensure ordering as the standard requires;
- // <xMainProgram> ::=
- // <xMainRange> |
- // <xProgramStmt> <xMainRange> ;
- // # R1102
- // <xProgramStmt> ::=
- // <xLblDef> T_PROGRAM <xProgramName> T_EOS ;
- ParseTreeNode programStmt = ParseTreeSearcher.findFirstNodeIn(node, Nonterminal.XPROGRAMSTMT);
- Token name;
- if (programStmt != null)
- name = ParseTreeSearcher.findFirstIdentifierIn(node);
- else
- {
- name = new Token();
- name.setText("(Anonymous Main Program)");
- }
- ...
-\end{verbatim}
-
-(The comment lines are copied from the parser generation grammar, \texttt{Fortran95.bnf}.)
-
-In Fortran, a main program can either start with a program statement, or it
-can not. So both of these are valid programs:
-\begin{verbatim}
-program SayHi
- print *, 'Hello!' print *, 'Hello!'
-end program SayHi end program SayHi
-\end{verbatim}
-
-In this Visitor method, \texttt{node} is guaranteed to be a $<$xMainProgram$>$,
-due to the name of the method. As shown, by looking at the grammar, we can
-determine that it will either have one child (a \texttt{ParseTreeNode} corresponding
-to an $<$xMainRange$>$) or two children (both \texttt{ParseTreeNode}s, the
-first corresponding to an $<$xProgramStmt$>$ and the second corresponding to
-an $<$xMainRange$>$.
-
-If it \textit{does} have an $<$xProgramStmt$>$, then, a quick look at the rules for
-$<$xLblDef$>$ (an optional integer label that can appear at the beginning of any
-Fortran statement) and $<$xProgramName$>$ will make it evident that the first
-identifier token (T\_IDENT) under the $<$xProgramStmt$>$ is the name of the program.
-
-So now we can understand what this method does.
-\begin{itemize}
-
-\item It checks to see if the main program has a $<$xProgramStmt$>$. This is done
-by calling \texttt{ParseTreeSearcher\#findFirstNodeIn}, and telling it we want to
-find the first $<$xProgramStmt$>$ that is a child of \texttt{node}. It will either
-return a \texttt{ParseTreeNode} corresponding to an $<$xProgramStmt$>$, or if it
-can't find one, it will return \texttt{null}.
-
-\item If there is an $<$xProgramStmt$>$, it grabs the first T\_IDENT token, which
-tells the name the user gave to the program.
-
-\item If there was no $<$xProgramStmt$>$, the program does not have a name, so we
-``fake'' a token and name the program ``(Anonymous Main Program).''
-\end{itemize}
-
-\subsection{For More Information}
-
-So, essentially, anytime you have a parse tree (or a subtree of the parse tree)
-and you want to find a particular node or token, use one of the methods in
-\texttt{ParseTreeSearcher}. If there isn't one, you may have to write one yourself.
-Be sure to look at the JavaDoc for the methods in that class; unless you are
-doing something bizarre, one of the existing methods should work.
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-08-symtbls.tex b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-08-symtbls.tex
deleted file mode 100644
index 90b3835..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-08-symtbls.tex
+++ /dev/null
@@ -1,103 +0,0 @@
-% Symbol Tables
-
-All of the symbol table routines are stored in the ``parser'' folder under the
-Core plug-in.
-
-After you have parsed a file, you can create a symbol table for it by calling
-\texttt{FortranProcessor\#createSymbolTableFromParseTree}. This, in turn calls
-the static method \texttt{SymbolTable\#createSymbolTableFor}, which is intended
-to be the sole entrypoint for symbol table building.
-
-\section{Contents of a Symbol Table}
-
-The classes representing symbol table entries are stored in the
-\texttt{org.eclipse.photran.internal.core.f95parser.symboltable.entries}
-package. Currently, the following are allowed.
-\begin{itemize}
-\item Main Programs
-\item Modules
-\item Functions
-\item Subroutines
-\item Derived Types
-\item Block Data
-\item Namelists
-\item Common Blocks
-\item Interfaces
-\item Externals
-\item Intrinsics
-\item Variables
-\end{itemize}
-
-\texttt{FortranProcessor\#createSymbolTableFromParseTree} returns a
-\texttt{SymbolTable}, which represents the global symbol table for
-the program that was parsed.
-
-A \texttt{SymbolTable} is essentially just a collection of
-\texttt{SymbolTableEntry} objects. Each \texttt{SymbolTableEntry} has
-a child symbol table. For \texttt{FunctionEntry} objects, this child
-table contains all of the parameters, the return variable, and any
-local variables declared inside the function. For \texttt{VariableEntry}
-objects, which represent local variables, the child table will always
-be empty (it is there only for uniformity).
-
-Symbol tables also keep track of whether an ``implicit'' rule applies,
-what external modules are being used (via USE statements), etc.
-
-To see what's in a symbol table, just use the \texttt{toString} method.
-Child tables will be indented in the output.
-
-The symbol table-related classes are JavaDoc'd, so additional information
-is available there.
-
-\section{\texttt{SymbolTableVisitor}s}
-
-You can also create a Visitor for a program's symbol table hierarchy
-by subclassing \texttt{SymbolTableVisitor}, which has a visit method
-for each type of \texttt{SymbolTableEntry}.
-
-\section{The Module Database}
-
-Similar to \textit{import} statements in Java, Fortran programs can USE a
-module defined in a different Fortran file. Unfortunately, there is no
-easy way to tell where this module might be defined. The user simply specifies
-a list of ``module paths'' which are searched for Fortran source files.
-Each Fortran source file must be checked to see if it contains a module
-with the given name.
-
-In Photran, the list of modules paths is stored in a workspace preference,
-although we plan to convert this to a project property.
-
-The class \texttt{ModuleLoader} is responsible for locating modules in this
-way. The \texttt{ModuleDB} caches the symbol tables for files on the module
-path so they don't all have to be reparsed every time a module is searched for.
-Neither of these is complete yet, but they will be soon.
-
-\section{How Symbol Tables are Built}
-
-A quick look at \texttt{FortranProcessor\#createSymbolTableFromParseTree}
-explains how symbol tables are built:
-\begin{verbatim}
- public static SymbolTable createSymbolTableFor(ParseTreeNode parseTree) throws Exception
- {
- SymbolTable tbl = (new DeclarationCollector(parseTree)).getSymbolTable();
- Intrinsics.fill(tbl);
- return (new ReferenceCollector(tbl, parseTree)).getSymbolTable();
- }
-\end{verbatim}
-
-\begin{itemize}
-
-\item A Visitor is run over the parse tree to collect declarations of
-programs, modules, functions, subroutines, block data, derived types,
-namelists, etc.---anything that can be stored in the symbol table.
-
-\item The names of all Fortran 95 intrinsic functions and subroutines
-are inserted into the table.
-
-\item Now that declarations have been inserted, the parse tree is scanned
-for references (i.e., uses of a function, variable, namelist, etc.).
-If implicit variables have been allowed, the \texttt{ReferenceCollector} will
-detect those (since they are used but not declared) and insert them into the
-symbol table.
-
-\end{itemize}
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-09-refac-suppt.tex b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-09-refac-suppt.tex
deleted file mode 100644
index f49a4f0..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-09-refac-suppt.tex
+++ /dev/null
@@ -1,123 +0,0 @@
-% Refactoring Support: Source Printing and Program Editing
-
-Aside from the usual front end components (parser and symbol tables), a
-refactoring tool requires
-\begin{itemize}
-\item a means of manipulating the parse tree, i.e., moving nodes around,
-deleting them, and inserting new ones; and
-\item a means of outputting ``revised'' source code after a parse tree has
-been manipulated.
-\end{itemize}
-
-We will look at the means of outputting source code first, discussing
-the \texttt{Presentation} and \texttt{SourcePrinter} classes.
-We will then discuss the \texttt{ProgramEditor}, which allows you to
-manipulate the parse tree and \texttt{Presentation}.
-
-\section{The \texttt{Presentation} and the \texttt{Program}}
-
-While the parse tree for a program stores all of the ``important'' tokens
-(identifiers, parentheses, etc.), other things---comments, line continuations,
-and C preprocessor directives---are not in the Fortran grammar. However,
-when the source printer produces source code from a parse tree, it needs to
-include these as well.
-
-We refer to these things (comments, line continuations, C preprocessor
-directives, Fortran INCLUDE statements, and anything else that does not
-end up in a parse tree) as \textit{non-tree tokens}, and we represent them
-by the class \texttt{NonTreeToken}. A \texttt{Presentation} is essentially
-a list of all the non-tree tokens that appeared in a parse.
-
-A \texttt{Presentation} can be created from a parse by calling the
-\texttt{getNonTreeTokens} method on the lexer and passing the resulting
-\texttt{List<NonTreeToken>} to the \texttt{Presentation} constructor.
-
-A \texttt{Program} is just parse tree paired with a symbol table and a
-\texttt{Presentation}.
-
-\section{Presentation Blocks}
-
-Since \texttt{Token}s in the parse tree and \texttt{NonTreeToken}s in
-a program's \texttt{Presentation} have a lot in common, we will refer to
-them collectively as ``presentation blocks.'' Not surprisingly, they
-share a common superclass (interface, rather): \texttt{IPresentationBlock}.
-JavaDoc removed, it looks like this:
-
-\begin{verbatim}
-public interface IPresentationBlock
-{
- public abstract String getFilename();
- public abstract void setFilename(String value);
-
- public abstract int getStartLine();
- public abstract void setStartLine(int value);
-
- public abstract int getStartCol();
- public abstract void setStartCol(int value);
-
- public abstract int getEndLine();
- public abstract void setEndLine(int value);
-
- public abstract int getEndCol();
- public abstract void setEndCol(int value);
-
- public abstract int getOffset();
- public abstract void setOffset(int value);
-
- public abstract int getLength();
- public abstract void setLength(int value);
-
- public abstract String getText();
- public abstract void setText(String value);
-}
-\end{verbatim}
-
-Intuitively, then, all presentation blocks know what file they originated from,
-where they were in the file (both in terms of line/column and offset/length),
-and exactly what their text looked like. (This is important since capitalization
-does not matter in Fortran.)
-
-Most importantly, this means that reproduce the source code of a program verbatim
-from a parse tree and a \texttt{Presentation}. (The only difference will be the
-use of spaces vs. tabs to make sure tokens appear in the correct column on a line.)
-All comments and formatting will be retained.
-
-\section{The \texttt{SourcePrinter}}
-
-The job of the source printer (class \texttt{SourcePrinter}) is to take a
-a parse tree and corresponding \texttt{Presentation}
-and produce source code from it.
-
-Since every \texttt{Token} in the parse tree and every \texttt{NonTreeToken}
-in the \texttt{Presentation} knows what line and column it should appear on,
-this is easy.
-
-\section{The \texttt{ProgramEditor}}
-
-Essentially, a refactoring needs to change the parse tree for a program. It
-may change existing nodes, move them around, remove them altogether, or insert
-new nodes.
-
-As described above, though, source code is produced by looking at the line/column
-offsets of the \texttt{Token}s in the parse tree and interleaving comments and
-other non-tree tokens from a program's \texttt{Presentation}.
-
-When we add, move, change, or delete a subtree of the parse tree, then,
-we must do three things:
-\begin{itemize}
-\item adjust the positions of the \texttt{Token}s in that subtree,
-\item adjust the positions of the related \texttt{NonTreeToken}s
-(e.g., the comments describing a method and C preprocessor directives in its
-definition)
-\item adjust the positions of all of the presentation blocks that appear after
-the modified subtree. For example, if you change an token's text from
-``Hello'' to ``Goodbye,'' every presentation block after that one will have
-its offset incremented by 2, and every presentation block to the right of
-that token on the same line will also have its starting column number incremented
-by 2.
-\end{itemize}
-
-The (static) methods in \texttt{ProgramEditor} are used to add, move, modify,
-and delete subtrees.
-
-This class will be described more as it stabilizes.
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-10-refactoring.tex b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-10-refactoring.tex
deleted file mode 100644
index b3b147c..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-10-refactoring.tex
+++ /dev/null
@@ -1,153 +0,0 @@
-% Refactoring: Preconditions and Implementation
-
-From an implementation standpoint, a refactoring consists of
-\begin{itemize}
-\item a set of \textit{initial preconditions},
-\item input from the user,
-\item a set of \textit{final preconditions}, and
-\item a program manipulation.
-\end{itemize}
-
-As an example, consider the easiest of all refactorings: Rename.
-\begin{itemize}
-\item \textbf{Initial preconditions:}
- \begin{itemize}
- \item The token to rename should be an identifier.
- \item The identifier must correspond to an entry in the symbol table.
- \item If Rename is limited to certain entities, say, variables and subprograms,
- the symbol table entry should indicate that the identifier corresponds
- to a variable or subprogram.
- \end{itemize}
-\item \textbf{User input:}
- \begin{itemize}
- \item New name for the variable or subprogram
- \end{itemize}
-\item \textbf{Final preconditions:}
- \begin{itemize}
- \item The new name must be a valid identifier.
- \item The new name must be different from the old name.
- \item The new name must not already exist in its namespace.
- \item For every reference to the old name, a change to the new name should uniquely
- identify the same variable or function. For example, if you are renaming a
- global variable from \texttt{a} to \texttt{b}, but a local variable \texttt{b}
- will end up shadowing the global variable and cause one of its references to
- ``go wrong,'' then the rename cannot continue.
- \end{itemize}
-\item \textbf{Program manipulation:}
- \begin{itemize}
- \item Locate the declaration of the entity being renamed, and locate all
- references in all files in the workspace, and change the token text
- to the new name.
- \end{itemize}
-\end{itemize}
-
-The distinction between initial and final preconditions, then, is that
-initial preconditions must be satisfied before the user is asked for input,
-while final preconditions depend on the user's input. If a refactoring does
-not require user input, it will have no final preconditions.
-
-\section{Running a Refactoring}
-
-Running a refactoring looks something like this.\footnote{The
-\texttt{if (!...) throw ...} is an obvious code smell that makes it look like
-the various methods in \texttt{RenameRefactoring} should be throwing exceptions
-rather than returning booleans. The current structure makes more sense in
-``real'' code, where the user is being assaulted with dialog boxes and other
-things happen between each of the steps.}
-
-\begin{verbatim}
- RenameRefactoring r = new RenameRefactoring(getProgram(), targetToken);
- if (!r.checkInitialPreconditions()) throw new Error(r.getErrorMessage());
- r.setNewName("Whatever");
- if (!r.checkFinalPreconditions()) throw new Error(r.getErrorMessage());
- if (!r.perform()) throw new Error(r.getErrorMessage());
-\end{verbatim}
-
-In other words, you
-\begin{itemize}
-\item check the initial preconditions,
-\item get input from the user,
-\item check the final preconditions, and
-\item finally perform the refactoring.
-\end{itemize}
-At any point, if a step has failed, you can call \texttt{r.getErrorMessage()}
-to get an explanation suitable for displaying to the user.
-
-\section{The \texttt{FortranRefactoring} Class}
-
-All Fortran refactorings must be subclasses of \texttt{FortranRefactoring}.
-\texttt{FortranRefactoring} (or its superclass) provides
-\begin{itemize}
-\item an instance variable \texttt{error}, the contents of which will be
- returned
- when the user calls \texttt{getErrorMessage()}. If the refactoring fails,
- before returning false, be sure to set this so the user knows why.
-\item Two \texttt{List}s of \texttt{Precondition}s:
- \texttt{initialPreconditions}
- and \texttt{finalPreconditions}. Add preconditions to the former in the
- constructor and the latter after input has been received from the user.
-\item Two fields, \texttt{initialPreconditionsCheckedAndPassed} and
- \texttt{finalPreconditionsCheckedAndPassed}. For example, you will want
- to assert that the initial preconditions have been checked and passed
- before checking the final preconditions.
-\end{itemize}
-
-\section{Preconditions}
-
-Refactoring preconditions are stored in the package
-\texttt{org.eclipse.photran.internal.core.refactoring.preconditions}.
-They are all derived from the class \texttt{AbstractPrecondition}.
-
-A precondition (i.e., a class derived from \texttt{AbstractPrecondition})
-has:
-\begin{itemize}
-\item a \texttt{List} of prerequisite preconditions, and
-\item a method for checking this precondition.
-\end{itemize}
-
-To check a precondition, call its \texttt{check} method. After this method
-has been called once, it ``remembers'' whether it succeeded or failed, so
-future calls to \texttt{check} will just return the stored result rather than
-performing the entire check again.\footnote{It is very possible that a
-precondition will be checked manually, and then it will be checked again
-because it is a prerequisite for another precondition. This resolves any
-inefficiences that might result because of this.}
-
-To implement how a precondition is checked, override the abstract method
-\texttt{checkThisPrecondition} method. If any other preconditions need
-to be checked before this one, add them to the \texttt{prereqPreconditions}
-list in the constructor. If the code in \texttt{checkThisPrecondition} is
-called, they have all been satisfied.
-
-The fields \texttt{parseTree}, \texttt{presentation}, and \texttt{symbolTable}
-will be populated when the constructor is called. You will almost definitely
-need to use these in your implementation of \texttt{checkThisPrecondition}.
-
-\section{Implementing a Refactoring}
-
-\begin{itemize}
-
-\item If you need any preconditions that don't exist yet, implement them
- as described above.
-
-\item Create a subclass of \texttt{FortranRefactoring}.
-
-\item In the constructor, call \texttt{super} and add preconditions
- to the \texttt{initialPreconditions} field.
-
-\item Implement any methods to store input from the user. At the beginning
- of these methods, you will probably want to assert
- \texttt{initialPreconditionsCheckedAndPassed}.
-
-\item Implement \texttt{perform}. You will want to assert that all user
- input is in place as well as asserting
- \texttt{finalPreconditionsCheckedAndPassed}. Use the
- \texttt{ProgramEditor} to modify the parse tree and presentation.
- If your changes might possibly affect the program's symbol table,
- call the (inherited) \texttt{rebuildSymbolTable} method after all
- transformations have been completed.
-
-\end{itemize}
-
-TODO-Jeff: Figure out and document how to integrate a refactoring into the
-(CDT) UI.
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a2-xyz.tex b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a2-xyz.tex
deleted file mode 100644
index 766084f..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a2-xyz.tex
+++ /dev/null
@@ -1,156 +0,0 @@
-% XYZ Language Plug-in README
-
-The org.eclipse.photran.xyzsamplelang project demonstrates
-how to use the \texttt{AdditionalLanguages} extension point.
-It is just the sample XML editor plug-in that gets created when you choose
-to create a new plug-in project and select the ``plug-in with an editor''
-template. However, it has been modified to integrate with the CDT.
-Here is the README from that project, which is a cursory description of
-how the CDT was modified and how the XYZ language was integrated. The
-specific changes to the editor are documented in its code, so be sure
-to read that too!
-
-\begin{verbatim}
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-
-
- HOW TO TIE A NEW SOURCE FILE TYPE, PARSER, AND MODEL BUILDER INTO THE CDT
- (AND HOW TO MAKE THE CDT ALLOW IT)
-
-
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-
-If you create your own editor, model builder, and ICElement-derived elements,
-some simple changes to the CDT source code will make the CDT
-integrate your parser and the elements it produces into its model.
-
-We add an AdditionalLanguages extension point to the CDT Core and change a
-couple of methods to make use of it.
-
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-
-NOTE ON INCLUDED SOURCE CODE:
-
-All files in the CDT Integration Proof-of-Concept - Phase 1 source folder were
-generated by the New Plug-In wizard EXCEPT:
-
-- Several changes were made to the editor's main class (XyzLanguageEditor) and
- are commented there
-- I added FortranContentOutlinePage
-- I added the ToyElement and ToyModelBuilder classes (based on Photran's
- FortranElement hierarchy and its (hidden) ToyModelBuilder)
-- I added XyzLanguagePerspective, which gives us our own perspective and adds
- a shortcut for our new file wizard to the New File menu
-
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-
-This is NOT well-written, and it is NOT a tutorial. It assumes you have some
-idea of how the CDT works (e.g., what the Model is), and it assumes that you
-will look at my code to see all the details.
-
-The XYZ Sample Language code is documented, so that should be read in addition
-to this README.
-
-* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-
-First, I checked out the CDT source (most of it, anyway) from CVS.
-
-I created a basic editor and a New wizard to complement it
-using the New Plugin wizard. I just called it XyzLanguageEditor
-rather than XMLEditor or whatever the default is. The filename extension
-is .xyz.
-
-I added the CDT Core and UI plugins as dependencies of my new plugin.
-
-After the wizard finished, I declared an xyzSource content type (text) to
-match the .xyz filename extension that the editor uses.
-
-(I also created an XYZ Language perspective by subclassing CPerspective, although
-that has only cosmetic value and isn't necessary for what I describe below.)
-
------
-
-Before we can add additional languages to the CDT, we must make the following
-changes to the CDT itself:
-
-Add an AdditionalLanguages extension point to the Core's plugin.xml
-Add AdditionalLanguages.exsd to the Core's schema folder
-Add org.eclipse.cdt.core.addl_langs package to the Core's src folder, containing:
- IAdditionalLanguage -- Each extension language must implement this
- AdditionalLanguagesExtension.java -- Provides access to extension point; iterable
- AdditionalLanguagesIterator.java -- Iterates through contributed IAdditionalLanguages
- IAdditionalLanguageCallback -- For performing an action on each contributed language
- IModelBuilder -- Extension languages provide their model builder this way
- IAdditionalLanguageElement -- ICElement extensions must implement this
-
-Now we need to make the CDT recognize our additional content types as
-valid TranslationUnits in its model.
-
-These changes make sure CoreModel#getRegistedContentTypeId works for
-additional content types. This function is called by CContainer
-and, if it returns a valid (registerd-with-the-CDT) content type,
-makes a TranslationUnit out of the file being processed.
-
-Essentially, we just add a line or two to each of the following which asks the
-AdditionalLanguagesExtension to check whether some extension plug-in (like our
-XYZ Language Plug-in) supports a given content type.
-
- 1. CoreModel#getRegistedContentTypeIds
- 2. CCorePlugin#getContentType
- 3. TranslationUnit#isSourceUnit
- 4. CoreModel#isValidSourceUnitName
- 5. CoreModel#isValidTranslationUnitName
-
- NOTE:
- The following are places where the CCorePlugin.CONTENT_TYPE_CSOURCE
- content type is checked for but I elected not to check for
- extension content types:
- TranslationUnit#isCLanguage
- CoreModel#isValidCSourceUnitName
- AbstractIndexerRunner#shouldIndex
- ...the following two methods are identical...
- DOMSearchUtil#getLanguage
- InternalASTServiceProvider#getLanguage
-
-Next, we want to allow additional languages to be parsed by their own parser,
-and they should be able to build their own models for the Outline and Make
-Projects views.
-
-The CModelBuilder is called by TranslationUnit#parse. We will make
-TranslationUnit#parse call our own model builder (ToyModelBuilder), which
-will use some special ICElements (base class ToyElement) to extend the C Model.
-Again, this is done through the extension point, so it can apply to any language.
-
-- CModelBuilder changed to implement IModelBuilder
-- Added extension point checking to TranslationUnit#parse
-- Made CElementInfo public (rather than default)
-- Made CElementInfo#setIsStructureKnown public (rather than protected)
-- Added extension point checking to CElementImageProvider#getBaseImageDescriptor
-
-The last point is important. Additional languages can reuse the CDT's model elements
-(for functions, classes, etc. -- all the things that show up in the Outline), or
-they can create their own (e.g., Fortran has Modules and Block Data, neither of
-which have direct analogs in C/C++). These new elements can be created by implementing
-IAdditionalLanguageElement. IAdditionalLanguageElements must implement a
-method getBaseImageDescriptor() which provides an Outline icon for that element.
-
------
-
-To integrate our XYZ language into the CDT...
-
-First, we add the following to our plugin.xml:
-
- <extension point="org.eclipse.cdt.core.AdditionalLanguages">
- <language class="addl_langs.XYZLanguage"/>
- </extension>
-
-We provide a class addl_langs.XYZLanguage which implements IAdditionalLanguage.
-See the JavaDoc for IAdditionalLanguage. Essentially, we claim to support
-the XyzLanguagePlugIn.xyzSource content type, and we provide a ToyModelBuilder
-which will provide a (static, and very boring) Outline of XYZ Language source files.
-
-Next, I added Outline support to the editor by making a tiny subclass of
-CContentOutlinePage. See several relevant notes in XyzLanguageEditor.java.
-See also FortranContentOutlinePage. We are telling CContentOutlinePage
-its editor is null, since it doesn't do anything useful with it.
-\end{verbatim}
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a3-cdt-ext-pt.tex b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a3-cdt-ext-pt.tex
deleted file mode 100644
index 0641a9c..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a3-cdt-ext-pt.tex
+++ /dev/null
@@ -1,85 +0,0 @@
-% Overview of Implementation of the CDT AdditionalLanguages Extension Point
-
-The following, from an e-mail to the CDT copied to photran-dev, is an
-alternative description of how we modified the CDT to include this
-extension point.
-
-\begin{verbatim}
-1. Add an AdditionalLanguages extension point to the Core's plugin.xml and AdditionalLanguages.exsd to the Core's schema folder
-
- Extend via <language class="my.plugin.XyzLanguage">
- where XyzLanguage implements IAdditionalLanguage (see below)
-
-2. Add a package org.eclipse.cdt.core.addl_langs containing:
-
- IAdditionalLanguage
- public interface IAdditionalLanguage {
- public String getName();
- public boolean matchesSourceContentType(String contentTypeID);
- public Collection/*<String>*/ getRegistedContentTypeIds();
- public IModelBuilder createModelBuilder(TranslationUnit tu,
- Map newElements);
- }
-
- AdditionalLanguagesExtension.java
- Singleton; provides access to the extension point
- Methods:
- public Iterator/*<IAdditionalLanguage>*/ iterator()
- public void processAdditionalLanguages(
- IAdditionalLanguageCallback callback)
- public boolean someAdditionalLanguageMatchesContentType(
- String contentTypeID)
- public IAdditionalLanguage getLanguageForContentType(
- String contentTypeID)
-
- AdditionalLanguagesIterator.java -- see iterator() above
- Implements Iterable/*<IAdditionalLanguage>*/
-
- IAdditionalLanguageCallback -- see processAdditionalLanguages() above
- Allows you to perform some arbitrary action on each contributed
- IAdditionalLanguage
-
- IModelBuilder
- Each extension language provides a model builder this way
- Single method:
- public abstract Map parse(boolean quickParseMode)
- throws Exception;
-
- IAdditionalLanguageElement (extends ICElement)
- Allows you to extend the ICElement hierarchy
- Methods:
- public abstract Object getBaseImageDescriptor();
- - The return type should really be ImageDescriptor,
- but I don't want to make the Core depend on JFace
-
-3. Change content type checking to use extension point...
- i. CoreModel#getRegistedContentTypeIds
- ii. CCorePlugin#getContentType
- iii. TranslationUnit#isSourceUnit
- iv. CoreModel#isValidSourceUnitName
- v. CoreModel#isValidTranslationUnitName
-
- The change each of these is just a line or two -- usually a call to
- AdditionalLanguagesExtension#someAdditionalLanguageMatchesContentType
-
-4. Make CModelBuilder implement IModelBuilder (no substantive change)
-
-5. Change the beginning of TranslationUnit#parse(Map):
- IModelBuilder modelBuilder;
- IAdditionalLanguage lang = AdditionalLanguagesExtension
- .getInstance()
- .getLanguageForSourceContentType(fContentTypeID);
- if (lang != null)
- modelBuilder = lang.createModelBuilder(this, newElements);
- else
- modelBuilder = new CModelBuilder(this, newElements);
-
-6. Make CElementInfo public (rather than default)
-
-7. Make CElementInfo#setIsStructureKnown public (rather than protected)
-
-8. Add this to the top of CElementImageProvider#getBaseImageDescriptor:
- if (celement instanceof IAdditionalLanguageElement)
- return (ImageDescriptor)
- ((IAdditionalLanguageElement)celement).getBaseImageDescriptor();
-\end{verbatim}
diff --git a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a4-misc-notes.tex b/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a4-misc-notes.tex
deleted file mode 100644
index 2c9d93c..0000000
--- a/org.eclipse.photran-dev-docs/misc-notes/old-dev-guide-chapters/inc-a4-misc-notes.tex
+++ /dev/null
@@ -1,57 +0,0 @@
-% Miscellaneous Parser and Language Processing Notes
-
-\section{Notes on the (almost-)LALR(1) Grammar}
-
-The current grammar is based on an Eli grammar that has been worked on
-for several years. All of the lexer work is totally original, and we fixed
-several bugs in the Eli grammar, but for the most part the grammar in
-\texttt{Fortran95.bnf} is the work of other people. We have invested
-several months of work in it---but that does not compare to the years of
-work invested by the previous authors of that grammar.
-
-More information on the Eli grammar is available at
-http://members.aol.com/wclodius/eli\_f95\_parser.html
-
-\section{Why not an abstract syntax tree?}
-
-We started by building an AST for Fortran by hand. For a compiler, this
-wouldn't be a big deal. The purpose of an AST is provide a tree that only
-contains ``useful'' information from the parse, so superfluous tokens like
-parentheses never end up in an AST. For a refactoring tool, though,
-it is important to remember every token in the parse, because you need to
-reproduce code that looks similar to the user's original code. Fortran
-has a number of cases where there are several different ways to specify the
-same thing. For example, you can end a program with ``end,'' ``end program,''
-or ``end program'' followed by the name of the program. Other cases, with
-several optional tokens in the middle of statements, are trickier. So,
-long story short, after a couple of months, we had about 600 AST classes and
-were nowhere near finished.
-
-So we needed a different alternative.
-
-One would be to have the parser generator generate the AST stuff for us.
-However, aside from the fact that it would require lots of tedious annotations
-in the grammar, we would still be in a place of having several hundred AST
-classes and a Visitor with several hundred methods.
-
-Instead, we\footnote{Actually, ``I'' is more correct... Spiros was leaving
-for Google, Brian was indifferent, and I think Dr. Johnson still would
-have preferred an AST... so now you know where to put the blame...} decided
-to use a good old-fashioned parse tree.
-
-Here's why.
-
-First, it made the ``superfluous token'' problem go away.
-Since each node just had a \texttt{List} of child nodes (either tokens or
-other parse tree nodes), we did not have to do anything extra to accommodate
-all of the variations of a statement. All the tokens were there when we
-needed them (e.g., for prettyprinting), and they could be ignored when we
-didn't need them.
-
-Second, it gave us two possible Visitors, as described above. More
-importantly, unlike visiting an AST, these Visitors could just do a ``dumb''
-recursive traversal of the tree, totally ignorant of the underlying grammar.
-This also made parse tree searches and grammar modifications easier.
-
-There are probably other reasons as well which I can try to remember if
-someone is still not convinced that this was a good idea.
diff --git a/org.eclipse.photran-dev-docs/patches/patch-20051101.txt b/org.eclipse.photran-dev-docs/patches/patch-20051101.txt
deleted file mode 100644
index 8aabdce..0000000
--- a/org.eclipse.photran-dev-docs/patches/patch-20051101.txt
+++ /dev/null
@@ -1,1266 +0,0 @@
-Index: src/org/eclipse/photran/internal/ui/editor/AdaptedSourceViewer.java
-===================================================================
-RCS file: /cvsroot/technology/org.eclipse.photran/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/AdaptedSourceViewer.java,v
-retrieving revision 1.1
-diff -u -r1.1 AdaptedSourceViewer.java
---- src/org/eclipse/photran/internal/ui/editor/AdaptedSourceViewer.java 29 Sep 2005 19:08:24 -0000 1.1
-+++ src/org/eclipse/photran/internal/ui/editor/AdaptedSourceViewer.java 16 Oct 2005 07:51:09 -0000
-@@ -9,9 +9,6 @@
-
- import org.eclipse.jface.text.DocumentCommand;
- import org.eclipse.jface.text.source.IOverviewRuler;
--import org.eclipse.jface.text.source.ISourceViewer;
--import org.eclipse.jface.text.source.ISourceViewerExtension;
--import org.eclipse.jface.text.source.ISourceViewerExtension2;
- import org.eclipse.jface.text.source.IVerticalRuler;
- import org.eclipse.jface.text.source.SourceViewer;
- import org.eclipse.jface.text.source.SourceViewerConfiguration;
-Index: src/org/eclipse/photran/internal/ui/editor/FortranFixedFormEditor.java
-===================================================================
-RCS file: /cvsroot/technology/org.eclipse.photran/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranFixedFormEditor.java,v
-retrieving revision 1.1
-diff -u -r1.1 FortranFixedFormEditor.java
---- src/org/eclipse/photran/internal/ui/editor/FortranFixedFormEditor.java 29 Sep 2005 19:08:24 -0000 1.1
-+++ src/org/eclipse/photran/internal/ui/editor/FortranFixedFormEditor.java 16 Oct 2005 07:51:09 -0000
-@@ -46,7 +46,7 @@
-
- // This is '6' because of the way Eclipse handles spaces and tabs.
- // If this were '7', the tab would insert 7 spaces and you would start at column 8
-- private static final int COLUMM_6_WIDTH = 6;
-+ public static final int COLUMM_6_WIDTH = 6;
- private static final int COLUMN_5_WIDTH = 5;
- private static final int COLUMN_72_WIDTH = 72;
-
-Index: src/org/eclipse/photran/internal/ui/editor/FortranFreeFormHorizontalRuler.java
-===================================================================
-RCS file: /cvsroot/technology/org.eclipse.photran/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranFreeFormHorizontalRuler.java,v
-retrieving revision 1.1
-diff -u -r1.1 FortranFreeFormHorizontalRuler.java
---- src/org/eclipse/photran/internal/ui/editor/FortranFreeFormHorizontalRuler.java 29 Sep 2005 19:08:24 -0000 1.1
-+++ src/org/eclipse/photran/internal/ui/editor/FortranFreeFormHorizontalRuler.java 16 Oct 2005 07:51:09 -0000
-@@ -7,7 +7,7 @@
- import org.eclipse.swt.widgets.Composite;
-
- /**
-- * @ author nchen
-+ * @author nchen
- * @author cheah
- *
- * Basic ruler that extends as wide as the editor
-Index: src/org/eclipse/photran/internal/ui/editor/FortranPartitionScanner.java
-===================================================================
-RCS file: /cvsroot/technology/org.eclipse.photran/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranPartitionScanner.java,v
-retrieving revision 1.1
-diff -u -r1.1 FortranPartitionScanner.java
---- src/org/eclipse/photran/internal/ui/editor/FortranPartitionScanner.java 29 Sep 2005 19:08:24 -0000 1.1
-+++ src/org/eclipse/photran/internal/ui/editor/FortranPartitionScanner.java 16 Oct 2005 07:51:10 -0000
-@@ -24,6 +24,7 @@
- import org.eclipse.photran.ui.FortranUIPlugin;
- import org.eclipse.swt.SWT;
- import org.eclipse.swt.graphics.Color;
-+import org.eclipse.swt.graphics.RGB;
-
- /**
- * Defines a lexer-based partition scanner for Fortran files.
-@@ -35,404 +36,399 @@
- * @author nchen
- * @author cheahcf
- */
--public final class FortranPartitionScanner implements IDocumentPartitioner
--{
-+public final class FortranPartitionScanner implements IDocumentPartitioner {
-
-- // ----- SET UP THE DIFFERENT TYPES OF PARTITIONS --------------------------
-+ // ----- SET UP THE DIFFERENT TYPES OF PARTITIONS --------------------------
-
-- static final String F90_STRING_CONSTANTS_PARTITION = "__fortran_string_constants";
-+ static final String F90_STRING_CONSTANTS_PARTITION = "__fortran_string_constants";
-
-- static final String F90_IDENTIFIER_PARTITION = "__fortran_identifier";
-+ static final String F90_IDENTIFIER_PARTITION = "__fortran_identifier";
-
-- static final String F90_KEYWORD_PARTITION = "__fortran_keyword";
--
-- static final String F90_CODE_PARTITION = "__fortran_code";
--
-- private IDocument doc;
--
-- private String filename;
--
-- private ArrayList partitions = null;
--
-- private boolean isFixedForm;
--
-- public static class Partition
-- {
-- protected String contentType;
--
-- protected ITokenScanner tokenScanner;
--
-- protected org.eclipse.jface.text.rules.Token token;
--
-- public Partition(String aContentType, TextAttribute color)
-- {
-- this.contentType = aContentType;
--
-- // Default token scanner: return the entire partition
-- // (there are no tokens within partitions)
--
-- RuleBasedScanner rbs = new RuleBasedScanner();
-- token = new org.eclipse.jface.text.rules.Token(color);
-- rbs.setDefaultReturnToken(token);
-- this.tokenScanner = rbs;
-- }
--
-- /**
-- * Each partition type has a unique name for its content type
-- *
-- * @return the content type for this partition (a String)
-- */
-- public final String getContentType()
-- {
-- return contentType;
-- }
--
-- /**
-- * @return a scanner that detects tokens within this type of partition.
-- */
-- public final ITokenScanner getTokenScanner()
-- {
-- return tokenScanner;
-- }
--
-- /**
-- * This token is used to change the color
-- *
-- * @return the token used for the current RuleBasedScanner
-- */
-- public org.eclipse.jface.text.rules.Token getToken()
-- {
-- return token;
-- }
-- }
--
-- // TODO-Nick: Refactor to be cleaner if there is a need for more types
-- private static IPreferenceStore store = FortranUIPlugin.getDefault().getPreferenceStore();
--
-- private static Partition[] partitionTypes = new Partition[] {
-- new Partition(
-- F90_STRING_CONSTANTS_PARTITION,
-- new TextAttribute(
-- new Color(
-- null,
-- PreferenceConverter
-- .getColor(
-- store,
-- ColorPreferencePage.F90_STRING_CONSTANTS_COLOR_PREF)))),
-- new Partition(
-- F90_IDENTIFIER_PARTITION,
-- new TextAttribute(
-- new Color(
-- null,
-- PreferenceConverter
-- .getColor(
-- store,
-- ColorPreferencePage.F90_IDENTIFIER_COLOR_PREF)))),
-- new Partition(
-- F90_CODE_PARTITION,
-- new TextAttribute(
-- new Color(
-- null,
-- PreferenceConverter
-- .getColor(
-- store,
-- ColorPreferencePage.F90_COMMENT_COLOR_PREF)))),
-- new Partition(
-- F90_KEYWORD_PARTITION,
-- new TextAttribute(
-- new Color(
-- null,
-- PreferenceConverter
-- .getColor(
-- store,
-- ColorPreferencePage.F90_KEYWORD_COLOR_PREF)),
-- null, SWT.BOLD)) };
--
-- IPropertyChangeListener colorPreferenceListener = new IPropertyChangeListener()
-- {
-- /*
-- * @see IPropertyChangeListener.propertyChange()
-- */
-- public void propertyChange(PropertyChangeEvent event)
-- {
-- if (ColorPreferencePage.respondToPreferenceChange(event))
-- {
-- updateColorPreferences();
-- documentChanged(null);
-- }
-- }
-- };
--
-- private void updateColorPreferences()
-- {
-- partitionTypes[0].getToken().setData(
-- new TextAttribute(new Color(null, PreferenceConverter.getColor(store,
-- ColorPreferencePage.F90_STRING_CONSTANTS_COLOR_PREF))));
-- partitionTypes[1].getToken().setData(
-- new TextAttribute(new Color(null, PreferenceConverter.getColor(store,
-- ColorPreferencePage.F90_IDENTIFIER_COLOR_PREF))));
-- partitionTypes[2].getToken().setData(
-- new TextAttribute(new Color(null, PreferenceConverter.getColor(store,
-- ColorPreferencePage.F90_COMMENT_COLOR_PREF))));
-- partitionTypes[3].getToken().setData(
-- new TextAttribute(new Color(null, PreferenceConverter.getColor(store,
-- ColorPreferencePage.F90_KEYWORD_COLOR_PREF)), null, SWT.BOLD));
-- }
--
-- /**
-- * Get a new FortranPartitionScanner Retains the doc if there is one
-- */
-- public FortranPartitionScanner(String filename, boolean isFixedForm)
-- {
-- // JO: Take the document filename as a parameter so that we can
-- // guess whether or not it's fixed form source
--
-- this.filename = filename;
-- this.isFixedForm = isFixedForm;
--
-- FortranUIPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(
-- colorPreferenceListener);
-- }
--
-- /**
-- * @return an array of FortranPartitionScanner.Partitions, each of which contains a name for its
-- * content type, a predicate for detecting that type of partition, and a rule for
-- * scanning tokens within that type of partition.
-- */
-- static final Partition[] getPartitionTypes()
-- {
-- return partitionTypes;
-- }
--
-- /**
-- * @return an array of Strings which identify the content types of the various types of
-- * partition for a photran file
-- */
-- static final String[] getContentTypes()
-- {
-- String[] contentTypes = new String[partitionTypes.length];
-- for (int i = 0; i < partitionTypes.length; i++)
-- contentTypes[i] = partitionTypes[i].getContentType();
-- return contentTypes;
-- }
--
-- /**
-- * @param terminal a terminal ID, from the Terminal class
-- * @return the name of the partition (one of the String constants above) corresponding to that
-- * terminal
-- */
-- private String mapTerminalToPartitionType(Terminal terminal)
-- {
-- if (terminal == Terminal.T_SCON) return F90_STRING_CONSTANTS_PARTITION;
-- if (terminal == Terminal.T_IDENT) return F90_IDENTIFIER_PARTITION;
--
-- return F90_KEYWORD_PARTITION;
-- }
--
-- /*
-- * (non-Javadoc)
-- *
-- * @see org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
-- */
-- public void connect(IDocument document)
-- {
-- doc = document;
-- documentChanged(null);
-- }
--
-- /*
-- * (non-Javadoc)
-- *
-- * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
-- */
-- public void disconnect()
-- {
-- doc = null;
-- }
--
-- /*
-- * (non-Javadoc)
-- *
-- * @see org.eclipse.jface.text.IDocumentPartitioner#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-- */
-- public void documentAboutToBeChanged(DocumentEvent event)
-- {
--
-- }
--
-- /*
-- * (non-Javadoc)
-- *
-- * @see org.eclipse.jface.text.IDocumentPartitioner#documentChanged(org.eclipse.jface.text.DocumentEvent)
-- */
-- public boolean documentChanged(DocumentEvent event)
-- {
-- // System.out.println("documentChanged");
-- int endOfLastPartition = -1;
-- // Get the text of the current document
-- String documentText = doc.get();
--
-- ArrayList newPartitions = new ArrayList();
--
-- try
-- {
-- // Run it through the lexer
-- ILexer lexer = Lexer.createLexer(new ByteArrayInputStream(doc.get()
-- .getBytes()), this.filename, isFixedForm);
--
-- // Create a partition for each token in the document, as well as
-- // a partition for the space between tokens
-- Token token;
-- Terminal terminal;
-- for (token = null, terminal = null; (terminal = (token = lexer.yylex()).getTerminal()) != Terminal.END_OF_INPUT;)
-- {
-- // JO: The fixed form lexer puts these in the stream
-- // out of order, and they don't really matter to us
-- // anyway since they're just whitespace
-- if (terminal == Terminal.T_EOS) continue;
--
-- int offset = token.getOffset();
-- int length = token.getLength();
-- String type = mapTerminalToPartitionType(terminal);
-- // we know that the parser is initialized and is scanning!
-- // but is it not returning the right offsets or the right types
-- // System.err.println("offset: " + offset + " length: " + length
-- // + " type: " + type + " text: " + token.getText());
--
-- // Is there space between the last partition and this one?
-- // Fill it!
-- if (endOfLastPartition < offset)
-- {
-- int beginningOfGap = endOfLastPartition + 1;
-- int lengthOfGap = offset - endOfLastPartition - 1;
-- newPartitions.add(new TypedRegion(beginningOfGap, lengthOfGap,
-- F90_CODE_PARTITION));
-- }
--
-- // And make a new partition
-- newPartitions.add(new TypedRegion(offset, length, type));
--
-- endOfLastPartition = offset + length - 1;
-- }
-- }
-- catch (FileNotFoundException e)
-- {
-- e.printStackTrace();
-- }
-- catch (Exception e1)
-- {
-- // Ignore lexer exceptions (e.g., unterminated string constant)
-- }
--
-- // Is there a gap between the last token and the end of the document?
-- // Assume it's code...
-- if (endOfLastPartition < documentText.length() - 1)
-- {
-- int beginningOfGap = endOfLastPartition + 1;
-- int lengthOfGap = documentText.length() - endOfLastPartition - 1;
-- newPartitions.add(new TypedRegion(beginningOfGap, lengthOfGap, F90_CODE_PARTITION));
-- }
--
-- // case for empty document
--
-- if (newPartitions.size() == 0)
-- newPartitions.add(new TypedRegion(0, 0, F90_CODE_PARTITION));
--
-- // We should return true iff the partitioning has changed
-- if (newPartitions.equals(partitions))
-- return false;
-- else
-- {
-- partitions = newPartitions;
--
-- return true;
-- }
-- }
--
-- /*
-- * (non-Javadoc)
-- *
-- * @see org.eclipse.jface.text.IDocumentPartitioner#getLegalContentTypes()
-- */
-- public String[] getLegalContentTypes()
-- {
-- return getContentTypes();
-- }
--
-- /*
-- * (non-Javadoc)
-- *
-- * @see org.eclipse.jface.text.IDocumentPartitioner#getContentType(int)
-- */
-- public String getContentType(int offset)
-- {
-- int partitionNum = findRegionContainingOffset(offset);
-- if (partitionNum >= 0)
-- return ((ITypedRegion)partitions.get(partitionNum)).getType();
-- else
-- // Assume it's part of some code...
-- return F90_CODE_PARTITION;
--
-- }
--
-- /*
-- * (non-Javadoc)
-- *
-- * @see org.eclipse.jface.text.IDocumentPartitioner#computePartitioning(int, int)
-- */
-- public ITypedRegion[] computePartitioning(int offset, int length)
-- {
--
-- int firstRegion = findRegionContainingOffset(offset);
-- int lastRegion = findRegionContainingOffset(offset + length - 1);
--
-- if (firstRegion < 0) throw new Error("No region contains start offset " + offset + "!");
-- if (lastRegion < 0) lastRegion = partitions.size() - 1;
--
-- ITypedRegion[] ret = new ITypedRegion[lastRegion - firstRegion + 1];
-- partitions.subList(firstRegion, lastRegion + 1).toArray(ret);
-- return ret;
-- }
--
-- /*
-- * (non-Javadoc)
-- *
-- * @see org.eclipse.jface.text.IDocumentPartitioner#getPartition(int)
-- */
-- public ITypedRegion getPartition(int offset)
-- {
-- int partitionNum = findRegionContainingOffset(offset);
--
-- ITypedRegion lastPartition = (ITypedRegion)partitions.get(partitions.size() - 1);
-- int lastOffsetOfLastPartition = lastPartition.getOffset() + lastPartition.getLength() - 1;
-- if (partitionNum < 0)
-- {
-- if (offset > lastOffsetOfLastPartition)
-- {
-- // Add a new partition to the end
-- int newPartitionStart = lastOffsetOfLastPartition + 1;
-- int newPartitionLength = offset - newPartitionStart + 1;
-- partitions.add(new TypedRegion(newPartitionStart, newPartitionLength,
-- F90_CODE_PARTITION));
-- partitionNum = partitions.size() - 1;
-- }
-- else
-- throw new Error("No region contains offset " + offset + "!");
-- }
--
-- return (ITypedRegion)partitions.get(partitionNum);
--
-- }
--
-- private int findRegionContainingOffset(int offset)
-- {
-- for (int i = 0; i < partitions.size(); i++)
-- {
-- ITypedRegion region = (ITypedRegion)partitions.get(i);
-- int firstCharOffset = region.getOffset();
-- int lastCharOffset = firstCharOffset + region.getLength() - 1;
-- if (firstCharOffset <= offset && lastCharOffset >= offset) return i;
-- }
-- return -1;
-- }
-+ static final String F90_KEYWORD_PARTITION = "__fortran_keyword";
-+
-+ static final String F90_CODE_PARTITION = "__fortran_code";
-+
-+ static final String F90_KEYWORD_PARTITION_WITH_INDENTATION_RIGHT = "__fortran_keyword_indentation_right";
-+
-+ static final String F90_KEYWORD_PARTITION_WITH_INDENTATION_LEFT = "__fortran_keyword_indentation_left";
-+
-+ private IDocument doc;
-+
-+ private String filename;
-+
-+ private ArrayList partitions = null;
-+
-+ private boolean isFixedForm;
-+
-+ public static class Partition {
-+ protected String contentType;
-+
-+ protected ITokenScanner tokenScanner;
-+
-+ protected org.eclipse.jface.text.rules.Token token;
-+
-+ public Partition(String aContentType, TextAttribute color) {
-+ this.contentType = aContentType;
-+
-+ // Default token scanner: return the entire partition
-+ // (there are no tokens within partitions)
-+
-+ RuleBasedScanner rbs = new RuleBasedScanner();
-+ token = new org.eclipse.jface.text.rules.Token(color);
-+ rbs.setDefaultReturnToken(token);
-+ this.tokenScanner = rbs;
-+ }
-+
-+ /**
-+ * Each partition type has a unique name for its content type
-+ *
-+ * @return the content type for this partition (a String)
-+ */
-+ public final String getContentType() {
-+ return contentType;
-+ }
-+
-+ /**
-+ * @return a scanner that detects tokens within this type of partition.
-+ */
-+ public final ITokenScanner getTokenScanner() {
-+ return tokenScanner;
-+ }
-+
-+ /**
-+ * This token is used to change the color
-+ *
-+ * @return the token used for the current RuleBasedScanner
-+ */
-+ public org.eclipse.jface.text.rules.Token getToken() {
-+ return token;
-+ }
-+ }
-+
-+ // TODO-Nick: Refactor to be cleaner if there is a need for more types
-+ private static IPreferenceStore store = FortranUIPlugin.getDefault()
-+ .getPreferenceStore();
-+
-+ private static Partition[] partitionTypes = new Partition[] {
-+ new Partition(
-+ F90_STRING_CONSTANTS_PARTITION,
-+ new TextAttribute(
-+ new Color(
-+ null,
-+ PreferenceConverter
-+ .getColor(
-+ store,
-+ ColorPreferencePage.F90_STRING_CONSTANTS_COLOR_PREF)))),
-+ new Partition(F90_IDENTIFIER_PARTITION, new TextAttribute(
-+ new Color(null, PreferenceConverter.getColor(store,
-+ ColorPreferencePage.F90_IDENTIFIER_COLOR_PREF)))),
-+ new Partition(F90_CODE_PARTITION, new TextAttribute(new Color(null,
-+ PreferenceConverter.getColor(store,
-+ ColorPreferencePage.F90_COMMENT_COLOR_PREF)))),
-+ new Partition(F90_KEYWORD_PARTITION, new TextAttribute(new Color(
-+ null, PreferenceConverter.getColor(store,
-+ ColorPreferencePage.F90_KEYWORD_COLOR_PREF)), null,
-+ SWT.BOLD)),
-+ new Partition(
-+ F90_KEYWORD_PARTITION_WITH_INDENTATION_RIGHT,
-+ new TextAttribute(
-+ new Color(null, PreferenceConverter.getColor(store,
-+ ColorPreferencePage.F90_KEYWORD_COLOR_PREF)),
-+ null, SWT.BOLD)),
-+ new Partition(
-+ F90_KEYWORD_PARTITION_WITH_INDENTATION_LEFT,
-+ new TextAttribute(
-+ new Color(null, PreferenceConverter.getColor(store,
-+ ColorPreferencePage.F90_KEYWORD_COLOR_PREF)),
-+ null, SWT.BOLD)) };
-+
-+ IPropertyChangeListener colorPreferenceListener = new IPropertyChangeListener() {
-+ /*
-+ * @see IPropertyChangeListener.propertyChange()
-+ */
-+ public void propertyChange(PropertyChangeEvent event) {
-+ if (ColorPreferencePage.respondToPreferenceChange(event)) {
-+ updateColorPreferences();
-+ documentChanged(null);
-+ }
-+ }
-+ };
-+
-+ private void updateColorPreferences() {
-+ partitionTypes[0].getToken().setData(
-+ new TextAttribute(new Color(null, PreferenceConverter.getColor(
-+ store,
-+ ColorPreferencePage.F90_STRING_CONSTANTS_COLOR_PREF))));
-+ partitionTypes[1]
-+ .getToken()
-+ .setData(
-+ new TextAttribute(
-+ new Color(
-+ null,
-+ PreferenceConverter
-+ .getColor(
-+ store,
-+ ColorPreferencePage.F90_IDENTIFIER_COLOR_PREF))));
-+ partitionTypes[2].getToken().setData(
-+ new TextAttribute(new Color(null, PreferenceConverter.getColor(
-+ store, ColorPreferencePage.F90_COMMENT_COLOR_PREF))));
-+ partitionTypes[3].getToken().setData(
-+ new TextAttribute(new Color(null, PreferenceConverter.getColor(
-+ store, ColorPreferencePage.F90_KEYWORD_COLOR_PREF)),
-+ null, SWT.BOLD));
-+ partitionTypes[4].getToken().setData(
-+ new TextAttribute(new Color(null, PreferenceConverter.getColor(
-+ store, ColorPreferencePage.F90_KEYWORD_COLOR_PREF)),
-+ null, SWT.BOLD));
-+ partitionTypes[5].getToken().setData(
-+ new TextAttribute(new Color(null, PreferenceConverter.getColor(
-+ store, ColorPreferencePage.F90_KEYWORD_COLOR_PREF)),
-+ null, SWT.BOLD));
-+
-+ }
-+
-+ /**
-+ * Get a new FortranPartitionScanner Retains the doc if there is one
-+ */
-+ public FortranPartitionScanner(String filename, boolean isFixedForm) {
-+ // JO: Take the document filename as a parameter so that we can
-+ // guess whether or not it's fixed form source
-+
-+ this.filename = filename;
-+ this.isFixedForm = isFixedForm;
-+
-+ FortranUIPlugin.getDefault().getPreferenceStore()
-+ .addPropertyChangeListener(colorPreferenceListener);
-+ }
-+
-+ /**
-+ * @return an array of FortranPartitionScanner.Partitions, each of which contains a name for its
-+ * content type, a predicate for detecting that type of partition, and a rule for
-+ * scanning tokens within that type of partition.
-+ */
-+ static final Partition[] getPartitionTypes() {
-+ return partitionTypes;
-+ }
-+
-+ /**
-+ * @return an array of Strings which identify the content types of the various types of
-+ * partition for a photran file
-+ */
-+ static final String[] getContentTypes() {
-+ String[] contentTypes = new String[partitionTypes.length];
-+ for (int i = 0; i < partitionTypes.length; i++)
-+ contentTypes[i] = partitionTypes[i].getContentType();
-+ return contentTypes;
-+ }
-+
-+ /**
-+ * @param terminal a terminal ID, from the Terminal class
-+ * @return the name of the partition (one of the String constants above) corresponding to that
-+ * terminal
-+ */
-+ private String mapTerminalToPartitionType(Terminal terminal) {
-+ if (terminal == Terminal.T_SCON)
-+ return F90_STRING_CONSTANTS_PARTITION;
-+ if (terminal == Terminal.T_IDENT)
-+ return F90_IDENTIFIER_PARTITION;
-+ if (ListOfWordsToIndent.checkIfKeywordNeedsRightIndentation(terminal))
-+ return F90_KEYWORD_PARTITION_WITH_INDENTATION_RIGHT;
-+ if (ListOfWordsToIndent.checkIfKeywordNeedsLeftIndentation(terminal))
-+ return F90_KEYWORD_PARTITION_WITH_INDENTATION_LEFT;
-+ return F90_KEYWORD_PARTITION;
-+ }
-+
-+ /*
-+ * (non-Javadoc)
-+ *
-+ * @see org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
-+ */
-+ public void connect(IDocument document) {
-+ doc = document;
-+ documentChanged(null);
-+ }
-+
-+ /*
-+ * (non-Javadoc)
-+ *
-+ * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
-+ */
-+ public void disconnect() {
-+ doc = null;
-+ }
-+
-+ /*
-+ * (non-Javadoc)
-+ *
-+ * @see org.eclipse.jface.text.IDocumentPartitioner#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
-+ */
-+ public void documentAboutToBeChanged(DocumentEvent event) {
-+
-+ }
-+
-+ /*
-+ * (non-Javadoc)
-+ *
-+ * @see org.eclipse.jface.text.IDocumentPartitioner#documentChanged(org.eclipse.jface.text.DocumentEvent)
-+ */
-+ public boolean documentChanged(DocumentEvent event) {
-+ // System.out.println("documentChanged");
-+ int endOfLastPartition = -1;
-+ // Get the text of the current document
-+ String documentText = doc.get();
-+
-+ ArrayList newPartitions = new ArrayList();
-+
-+ try {
-+ // Run it through the lexer
-+ ILexer lexer = Lexer.createLexer(new ByteArrayInputStream(doc.get()
-+ .getBytes()), this.filename, isFixedForm);
-+
-+ // Create a partition for each token in the document, as well as
-+ // a partition for the space between tokens
-+ Token token;
-+ Terminal terminal;
-+ for (token = null, terminal = null; (terminal = (token = lexer
-+ .yylex()).getTerminal()) != Terminal.END_OF_INPUT;) {
-+ // JO: The fixed form lexer puts these in the stream
-+ // out of order, and they don't really matter to us
-+ // anyway since they're just whitespace
-+ if (terminal == Terminal.T_EOS)
-+ continue;
-+
-+ int offset = token.getOffset();
-+ int length = token.getLength();
-+ String type = mapTerminalToPartitionType(terminal);
-+ // we know that the parser is initialized and is scanning!
-+ // but is it not returning the right offsets or the right types
-+ // System.err.println("offset: " + offset + " length: " + length
-+ // + " type: " + type + " text: " + token.getText());
-+
-+ // Is there space between the last partition and this one?
-+ // Fill it!
-+ if (endOfLastPartition < offset) {
-+ int beginningOfGap = endOfLastPartition + 1;
-+ int lengthOfGap = offset - endOfLastPartition - 1;
-+ newPartitions.add(new TypedRegion(beginningOfGap,
-+ lengthOfGap, F90_CODE_PARTITION));
-+ }
-+
-+ // And make a new partition
-+ newPartitions.add(new TypedRegion(offset, length, type));
-+
-+ endOfLastPartition = offset + length - 1;
-+ }
-+ } catch (FileNotFoundException e) {
-+ e.printStackTrace();
-+ } catch (Exception e1) {
-+ // Ignore lexer exceptions (e.g., unterminated string constant)
-+ e1.printStackTrace();
-+ }
-+
-+ // Is there a gap between the last token and the end of the document?
-+ // Assume it's code...
-+ if (endOfLastPartition < documentText.length() - 1) {
-+ int beginningOfGap = endOfLastPartition + 1;
-+ int lengthOfGap = documentText.length() - endOfLastPartition - 1;
-+ newPartitions.add(new TypedRegion(beginningOfGap, lengthOfGap,
-+ F90_CODE_PARTITION));
-+ }
-+
-+ // case for empty document
-+
-+ if (newPartitions.size() == 0)
-+ newPartitions.add(new TypedRegion(0, 0, F90_CODE_PARTITION));
-+
-+ // We should return true iff the partitioning has changed
-+ if (newPartitions.equals(partitions))
-+ return false;
-+ else {
-+ partitions = newPartitions;
-+
-+ return true;
-+ }
-+ }
-+
-+ /*
-+ * (non-Javadoc)
-+ *
-+ * @see org.eclipse.jface.text.IDocumentPartitioner#getLegalContentTypes()
-+ */
-+ public String[] getLegalContentTypes() {
-+ return getContentTypes();
-+ }
-+
-+ /*
-+ * (non-Javadoc)
-+ *
-+ * @see org.eclipse.jface.text.IDocumentPartitioner#getContentType(int)
-+ */
-+ public String getContentType(int offset) {
-+ int partitionNum = findRegionContainingOffset(offset);
-+ if (partitionNum >= 0)
-+ return ((ITypedRegion) partitions.get(partitionNum)).getType();
-+ else
-+ // Assume it's part of some code...
-+ return F90_CODE_PARTITION;
-+
-+ }
-+
-+ /*
-+ * (non-Javadoc)
-+ *
-+ * @see org.eclipse.jface.text.IDocumentPartitioner#computePartitioning(int, int)
-+ */
-+ public ITypedRegion[] computePartitioning(int offset, int length) {
-+
-+ int firstRegion = findRegionContainingOffset(offset);
-+ int lastRegion = findRegionContainingOffset(offset + length - 1);
-+
-+ if (firstRegion < 0)
-+ throw new Error("No region contains start offset " + offset + "!");
-+ if (lastRegion < 0)
-+ lastRegion = partitions.size() - 1;
-+
-+ ITypedRegion[] ret = new ITypedRegion[lastRegion - firstRegion + 1];
-+ partitions.subList(firstRegion, lastRegion + 1).toArray(ret);
-+ return ret;
-+ }
-+
-+ /*
-+ * (non-Javadoc)
-+ *
-+ * @see org.eclipse.jface.text.IDocumentPartitioner#getPartition(int)
-+ */
-+ public ITypedRegion getPartition(int offset) {
-+ int partitionNum = findRegionContainingOffset(offset);
-+
-+ ITypedRegion lastPartition = (ITypedRegion) partitions.get(partitions
-+ .size() - 1);
-+ int lastOffsetOfLastPartition = lastPartition.getOffset()
-+ + lastPartition.getLength() - 1;
-+ if (partitionNum < 0) {
-+ if (offset > lastOffsetOfLastPartition) {
-+ // Add a new partition to the end
-+ int newPartitionStart = lastOffsetOfLastPartition + 1;
-+ int newPartitionLength = offset - newPartitionStart + 1;
-+ partitions.add(new TypedRegion(newPartitionStart,
-+ newPartitionLength, F90_CODE_PARTITION));
-+ partitionNum = partitions.size() - 1;
-+ } else
-+ throw new Error("No region contains offset " + offset + "!");
-+ }
-+
-+ return (ITypedRegion) partitions.get(partitionNum);
-+
-+ }
-+
-+ private int findRegionContainingOffset(int offset) {
-+ for (int i = 0; i < partitions.size(); i++) {
-+ ITypedRegion region = (ITypedRegion) partitions.get(i);
-+ int firstCharOffset = region.getOffset();
-+ int lastCharOffset = firstCharOffset + region.getLength() - 1;
-+ if (firstCharOffset <= offset && lastCharOffset >= offset)
-+ return i;
-+ }
-+ return -1;
-+ }
- }
-Index: src/org/eclipse/photran/internal/ui/editor/FortranSourceViewerConfiguration.java
-===================================================================
-RCS file: /cvsroot/technology/org.eclipse.photran/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/FortranSourceViewerConfiguration.java,v
-retrieving revision 1.1
-diff -u -r1.1 FortranSourceViewerConfiguration.java
---- src/org/eclipse/photran/internal/ui/editor/FortranSourceViewerConfiguration.java 29 Sep 2005 19:08:24 -0000 1.1
-+++ src/org/eclipse/photran/internal/ui/editor/FortranSourceViewerConfiguration.java 16 Oct 2005 07:51:10 -0000
-@@ -3,7 +3,11 @@
- import java.util.ArrayList;
- import java.util.List;
-
-+import org.eclipse.cdt.internal.ui.text.CAutoIndentStrategy;
-+import org.eclipse.cdt.internal.ui.text.CCommentAutoIndentStrategy;
-+import org.eclipse.cdt.internal.ui.text.ICPartitions;
- import org.eclipse.jface.preference.IPreferenceStore;
-+import org.eclipse.jface.text.IAutoEditStrategy;
- import org.eclipse.jface.text.IDocument;
- import org.eclipse.jface.text.ITextDoubleClickStrategy;
- import org.eclipse.jface.text.TextAttribute;
-@@ -104,6 +108,16 @@
- ISourceViewer sourceViewer, String contentType) {
- return doubleClickStrategy;
- }
-+
-+ // ----- AUTO-INDENTING STRATEGY ------------------------------------------
-+ /* (non-Javadoc)
-+ * @see org.eclipse.jface.text.source.SourceViewerConfiguration#getAutoEditStrategies(org.eclipse.jface.text.source.ISourceViewer, java.lang.String)
-+ */
-+ public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
-+
-+
-+ return new IAutoEditStrategy[] {new FortranAutoIndentStrategy(editor instanceof FortranFreeFormEditor)};
-+ }
-
- // ----- SYNTAX HIGHLIGHTING -----------------------------------------------
-
-Index: src/org/eclipse/photran/internal/ui/editor/TabConverter.java
-===================================================================
-RCS file: /cvsroot/technology/org.eclipse.photran/org.eclipse.photran.ui/src/org/eclipse/photran/internal/ui/editor/TabConverter.java,v
-retrieving revision 1.1
-diff -u -r1.1 TabConverter.java
---- src/org/eclipse/photran/internal/ui/editor/TabConverter.java 29 Sep 2005 19:08:24 -0000 1.1
-+++ src/org/eclipse/photran/internal/ui/editor/TabConverter.java 16 Oct 2005 07:51:10 -0000
-@@ -8,6 +8,8 @@
- import org.eclipse.jface.text.IDocument;
- import org.eclipse.jface.text.ILineTracker;
- import org.eclipse.jface.text.IRegion;
-+import org.eclipse.jface.text.ITextSelection;
-+import org.eclipse.jface.viewers.ISelection;
-
- /**
- * @author nchen
-@@ -20,6 +22,7 @@
-
- private ILineTracker fLineTracker;
-
-+
- public TabConverter() {
- }
-
-@@ -49,11 +52,10 @@
- if (text == null)
- return;
-
-- int index = text.indexOf('\t');
-+ int index = text.indexOf('\t');// + text.indexOf('\n');
- if (index > -1) {
-
- StringBuffer buffer = new StringBuffer();
--
- fLineTracker.set(command.text);
- int lines = fLineTracker.getNumberOfLines();
-
-@@ -75,7 +77,7 @@
- int length = line.length();
- for (int j = 0; j < length; j++) {
- char c = line.charAt(j);
-- if (c == '\t') {
-+ if (c == '\t') { // a tab has been inserted
- position += insertTabString(buffer, position);
- } else {
- buffer.append(c);
-@@ -88,6 +90,7 @@
- command.text = buffer.toString();
-
- } catch (BadLocationException x) {
-+ x.printStackTrace();
- }
- }
- }
-Index: src/org/eclipse/photran/internal/ui/editor/FortranAutoIndentStrategy.java
-===================================================================
-RCS file: src/org/eclipse/photran/internal/ui/editor/FortranAutoIndentStrategy.java
-diff -N src/org/eclipse/photran/internal/ui/editor/FortranAutoIndentStrategy.java
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ src/org/eclipse/photran/internal/ui/editor/FortranAutoIndentStrategy.java 1 Jan 1970 00:00:00 -0000
-@@ -0,0 +1,189 @@
-+/*******************************************************************************
-+ * Copyright (c) 2000 2005 IBM Corporation and others.
-+ * All rights reserved. This program and the accompanying materials
-+ * are made available under the terms of the Eclipse Public License v1.0
-+ * which accompanies this distribution, and is available at
-+ * http://www.eclipse.org/legal/epl-v10.html
-+ *
-+ * Contributors:
-+ * IBM Corporation - initial API and implementation
-+ * QNX Software System
-+ *******************************************************************************/
-+package org.eclipse.photran.internal.ui.editor;
-+
-+import org.eclipse.jface.text.BadLocationException;
-+import org.eclipse.jface.text.DefaultIndentLineAutoEditStrategy;
-+import org.eclipse.jface.text.DocumentCommand;
-+import org.eclipse.jface.text.IDocument;
-+import org.eclipse.jface.text.IDocumentPartitioner;
-+import org.eclipse.jface.text.ITypedRegion;
-+import org.eclipse.photran.internal.core.f95parser.Terminal;
-+import org.eclipse.photran.internal.ui.preferences.FortranFreeFormSpacePreferencePage;
-+
-+import org.eclipse.cdt.ui.CUIPlugin;
-+
-+/**
-+ * Auto indent strategy sensitive to brackets.
-+ */
-+public class FortranAutoIndentStrategy extends
-+ DefaultIndentLineAutoEditStrategy {
-+
-+ private boolean isFreeForm;
-+
-+ public FortranAutoIndentStrategy(boolean isFreeForm) {
-+ this.isFreeForm = isFreeForm;
-+ }
-+
-+ protected void smartIndentAfterNewLine(IDocument d, DocumentCommand c) {
-+ int docLength = d.getLength();
-+ if (c.offset == -1 || docLength == 0)
-+ return;
-+
-+ try {
-+ int p = (c.offset == docLength ? c.offset - 1 : c.offset);
-+ int line = d.getLineOfOffset(p); // our current line
-+
-+ StringBuffer buf = new StringBuffer(c.text);
-+ int start = d.getLineOffset(line);
-+ int whiteend = findEndOfWhiteSpace(d, start, c.offset);
-+ buf.append(d.get(start, whiteend - start));
-+ if (isIndentRightWord(d, whiteend)) {
-+ buf.append('\t');
-+ }
-+ c.text = buf.toString();
-+
-+ } catch (BadLocationException excp) {
-+ excp.printStackTrace();
-+ }
-+ }
-+
-+ private boolean isIndentRightWord(IDocument doc, int firstChar) {
-+ // ITypedRegion = doc.getDocumentPartitioner().getPartition(firstChar);
-+ String partitionType = doc.getDocumentPartitioner().getPartition(
-+ firstChar).getType();
-+ if (partitionType
-+ .equals(FortranPartitionScanner.F90_KEYWORD_PARTITION_WITH_INDENTATION_RIGHT)) {
-+ return true;
-+ }
-+ return false;
-+ }
-+
-+ /**
-+ * Returns whether the text ends with one of the given search strings.
-+ */
-+ private boolean endsWithDelimiter(IDocument d, String txt) {
-+ String[] delimiters = d.getLegalLineDelimiters();
-+
-+ for (int i = 0; i < delimiters.length; i++) {
-+ if (txt.endsWith(delimiters[i]))
-+ return true;
-+ }
-+ return false;
-+ }
-+
-+ /**
-+ * @see IAutoIndentStrategy#customizeDocumentCommand
-+ */
-+ public void customizeDocumentCommand(IDocument d, DocumentCommand c) {
-+ if (c.length == 0 && c.text != null && endsWithDelimiter(d, c.text))
-+ smartIndentAfterNewLine(d, c);
-+ else if (soonToContainsEnd(d, c)) {
-+ smartUnindentAfterEnd(d, c);
-+ }
-+ }
-+
-+ /**
-+ * Unindents the line by the number indicated in the preference pane
-+ *
-+ * @param doc
-+ * @param command
-+ */
-+ private void smartUnindentAfterEnd(IDocument doc, DocumentCommand command) {
-+ if (command.offset == -1 || doc.getLength() == 0)
-+ return;
-+
-+ try {
-+ int p = (command.offset == doc.getLength() ? command.offset - 1
-+ : command.offset);
-+ int line = doc.getLineOfOffset(p);
-+ int startOfLineOffset = doc.getLineOffset(line);
-+ int whiteend = findEndOfWhiteSpace(doc, startOfLineOffset,
-+ command.offset);
-+
-+ if (whiteend != command.offset) {
-+
-+ int offsetOfLine = findEndOfWhiteSpace(doc, doc
-+ .getLineOffset(line), doc.getLineOffset(line)
-+ + doc.getLineLength(line));
-+ int numberOfSpacesOnLeft = offsetOfLine
-+ - doc.getLineOffset(line);
-+
-+ if (isFreeForm)
-+ numberOfSpacesOnLeft -= FortranFreeFormSpacePreferencePage
-+ .getTabSize();
-+ else
-+ numberOfSpacesOnLeft -= FortranFixedFormEditor.COLUMM_6_WIDTH;
-+
-+ if (numberOfSpacesOnLeft >= 0) {
-+ // convert to number of spaces
-+ String spaces = "";
-+ for (int i = 0; i < numberOfSpacesOnLeft; i++)
-+ spaces += " ";
-+
-+ StringBuffer replaceText = new StringBuffer(spaces);
-+
-+ // add the rest of the current line including the just added
-+ replaceText.append(doc.get(whiteend, command.offset
-+ - whiteend));
-+ replaceText.append(command.text);
-+ // modify document command
-+ command.length = command.offset - startOfLineOffset;
-+ command.offset = startOfLineOffset;
-+ command.text = replaceText.toString();
-+ }
-+ }
-+ } catch (BadLocationException excp) {
-+ excp.printStackTrace();
-+ }
-+
-+ }
-+
-+ /**
-+ * Returns true if after inserting the current character we have end
-+ *
-+ * @param doc
-+ * @param command
-+ * @return whether we have end
-+ *
-+ * Using simple character mathing instead of the parser so that it works
-+ * even if the lexer is not available; in the case of Free Form with more
-+ * than a 1000 lines
-+ */
-+ private boolean soonToContainsEnd(IDocument doc, DocumentCommand command) {
-+ if (command.offset == -1 || doc.getLength() == 0)
-+ return false;
-+
-+ try {
-+ // convert all matches to lowercase since
-+ int commandOffset = (command.offset == doc.getLength() ? command.offset - 1
-+ : command.offset);
-+ int line = doc.getLineOfOffset(commandOffset); // our current line
-+ int start = doc.getLineOffset(line);
-+ int whiteend = findEndOfWhiteSpace(doc, start, command.offset);
-+
-+ // if c equals d and after appending this we have "end"
-+ if ("d".equals(command.text.toLowerCase())) {
-+ int end = doc.getLineOffset(line) + doc.getLineLength(line)
-+ - whiteend;
-+ if (doc.get(whiteend, end).toLowerCase().equals("en")) {
-+ return true;
-+ }
-+ }
-+ } catch (BadLocationException e) {
-+ e.printStackTrace();
-+ }
-+ return false;
-+
-+ }
-+
-+}
-Index: src/org/eclipse/photran/internal/ui/editor/ListOfWordsToIndent.java
-===================================================================
-RCS file: src/org/eclipse/photran/internal/ui/editor/ListOfWordsToIndent.java
-diff -N src/org/eclipse/photran/internal/ui/editor/ListOfWordsToIndent.java
---- /dev/null 1 Jan 1970 00:00:00 -0000
-+++ src/org/eclipse/photran/internal/ui/editor/ListOfWordsToIndent.java 1 Jan 1970 00:00:00 -0000
-@@ -0,0 +1,111 @@
-+package org.eclipse.photran.internal.ui.editor;
-+
-+import java.util.HashSet;
-+
-+import org.eclipse.photran.internal.core.f95parser.Terminal;
-+
-+/**
-+ * @author nchen
-+ * @author cheah
-+ *
-+ * This returns an hashtable of words that require indentation in Fortran The
-+ * FortranPartitionScanner class would then make use of it as it checks to see
-+ * if we will auto-indent or not.
-+ *
-+ */
-+public class ListOfWordsToIndent {
-+
-+ /**
-+ * @author cheah
-+ * @author nchen
-+ *
-+ * This class stores a tuple
-+ */
-+ static class Pair {
-+ public Object fFirst = null;
-+
-+ public Object fSecond = null;
-+
-+ public Pair(Object first, Object second) {
-+ fFirst = first;
-+ fSecond = second;
-+ }
-+
-+ /*
-+ * String accessors
-+ */
-+ public String firstAsString() {
-+ return (String) fFirst;
-+ }
-+
-+ public String secondAsString() {
-+ return (String) fSecond;
-+ }
-+ }
-+
-+ // Augment this list as necessary
-+ private static Pair[] fortranKeywordsPairs = new Pair[] {
-+ new Pair(Terminal.T_PROGRAM, Terminal.T_ENDPROGRAM),
-+ new Pair(Terminal.T_FUNCTION, Terminal.T_ENDFUNCTION),
-+ new Pair(Terminal.T_SUBROUTINE, Terminal.T_ENDSUBROUTINE),
-+ new Pair(Terminal.T_MODULE, Terminal.T_ENDMODULE),
-+ new Pair(Terminal.T_BLOCKDATA, Terminal.T_ENDBLOCKDATA),
-+ new Pair(Terminal.T_TYPE, Terminal.T_ENDTYPE),
-+ new Pair(Terminal.T_FORALL, Terminal.T_ENDFORALL),
-+ new Pair(Terminal.T_WHERE, Terminal.T_ENDWHERE),
-+ new Pair(Terminal.T_ELSEWHERE, Terminal.T_ENDWHERE),
-+ new Pair(Terminal.T_IF, Terminal.T_ENDIF),
-+ new Pair(Terminal.T_ELSEIF, Terminal.T_ENDIF),
-+ new Pair(Terminal.T_SELECTCASE, Terminal.T_ENDSELECT),
-+ new Pair(Terminal.T_CASE, Terminal.T_END),
-+ new Pair(Terminal.T_DO, Terminal.T_ENDDO),
-+ new Pair(Terminal.T_INTERFACE, Terminal.T_ENDINTERFACE) };
-+
-+ private static HashSet wordsToIndentRight = new HashSet();
-+
-+ private static HashSet wordsToIndentLeft = new HashSet();
-+
-+ private static ListOfWordsToIndent uniqueInstance;
-+
-+ // Singleton
-+ private ListOfWordsToIndent() {
-+ //generate the hashtable from the list of keywords
-+ for (int index = 0; index < fortranKeywordsPairs.length; index++) {
-+ wordsToIndentRight.add((Terminal)(fortranKeywordsPairs[index].fFirst));
-+ }
-+
-+ // add the one and only terminal to indent left
-+ wordsToIndentLeft.add((Terminal)Terminal.T_END);
-+ }
-+
-+ /**
-+ * Singleton implementation
-+ * @return the unique instance
-+ */
-+ public static ListOfWordsToIndent getListOfWordsToIndentInstance() {
-+ if (uniqueInstance == null)
-+ uniqueInstance = new ListOfWordsToIndent();
-+
-+ return uniqueInstance;
-+ }
-+
-+ /**
-+ * Checks to see if the keyword causes indentation
-+ * @param terminal
-+ * @return
-+ */
-+ public static boolean checkIfKeywordNeedsRightIndentation(Terminal terminal) {
-+ return getListOfWordsToIndentInstance().wordsToIndentRight
-+ .contains(terminal);
-+ }
-+
-+ /**
-+ * Checks to see if the keyword causes indentation
-+ * @param terminal
-+ * @return
-+ */
-+ public static boolean checkIfKeywordNeedsLeftIndentation(Terminal terminal) {
-+ return getListOfWordsToIndentInstance().wordsToIndentLeft
-+ .contains(terminal);
-+ }
-+}
-
-
diff --git a/org.eclipse.photran-samples/.cdtproject b/org.eclipse.photran-samples/.cdtproject
deleted file mode 100644
index 8802934..0000000
--- a/org.eclipse.photran-samples/.cdtproject
+++ /dev/null
@@ -1,73 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse-cdt version="2.0"?>
-
-<cdtproject id="org.eclipse.cdt.make.core.make">
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.XCOFF32" point="org.eclipse.cdt.core.BinaryParser">
-<attribute key="addr2line" value="addr2line"/>
-<attribute key="c++filt" value="c++filt"/>
-</extension>
-<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser">
-<attribute key="addr2line" value="addr2line"/>
-<attribute key="c++filt" value="c++filt"/>
-</extension>
-<extension id="org.eclipse.cdt.core.Cygwin_PE" point="org.eclipse.cdt.core.BinaryParser">
-<attribute key="addr2line" value="addr2line"/>
-<attribute key="cygpath" value="cygpath"/>
-<attribute key="c++filt" value="c++filt"/>
-<attribute key="nm" value="nm"/>
-</extension>
-<extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser">
-<attribute key="c++filt" value="c++filt"/>
-</extension>
-<extension id="org.eclipse.cdt.core.nullindexer" point="org.eclipse.cdt.core.CIndexer"/>
-<data>
-<item id="scannerConfiguration">
-<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="true"/>
-</scannerInfoProvider>
-</profile>
-</item>
-<item id="org.eclipse.cdt.core.pathentry">
-<pathentry kind="out" path=""/>
-<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
-<pathentry kind="src" path="src-fixed-form"/>
-<pathentry kind="src" path="src-fortran-and-c"/>
-<pathentry kind="src" path="src-gaussian-elimination"/>
-<pathentry kind="src" path="src-includes"/>
-<pathentry kind="src" path="src-language-features"/>
-<pathentry kind="src" path="src-line-fitting"/>
-<pathentry kind="src" path="src-modules"/>
-<pathentry kind="src" path="src-scoping"/>
-<pathentry kind="src" path="src-implicits-1"/>
-<pathentry kind="src" path="src-implicits-2"/>
-<pathentry kind="src" path="src-implicits-3"/>
-</item>
-<item id="org.eclipse.cdt.make.core.buildtargets">
-<buildTargets>
-<target name="all" path="" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments></buildArguments>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>true</useDefaultCommand>
-</target>
-<target name="clean" path="" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments></buildArguments>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>true</useDefaultCommand>
-</target>
-</buildTargets>
-</item>
-</data>
-</cdtproject>
diff --git a/org.eclipse.photran-samples/.cproject b/org.eclipse.photran-samples/.cproject
deleted file mode 100644
index bbf21ac..0000000
--- a/org.eclipse.photran-samples/.cproject
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?fileVersion 4.0.0?>
-
-<cproject>
-<storageModule moduleId="org.eclipse.cdt.core.settings">
-<cconfiguration id="converted.config.1543524045">
-<storageModule moduleId="scannerConfiguration">
-<autodiscovery enabled="false" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
-<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
-<buildOutputProvider>
-<openAction enabled="false" filePath=""/>
-<parser enabled="true"/>
-</buildOutputProvider>
-<scannerInfoProvider id="specsFile">
-<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
-<parser enabled="true"/>
-</scannerInfoProvider>
-</profile>
-</storageModule>
-
-
-<storageModule buildSystemId="org.eclipse.cdt.core.defaultConfigDataProvider" id="converted.config.1543524045" moduleId="org.eclipse.cdt.core.settings" name="convertedConfig">
-<externalSettings/>
-<extensions>
-<extension id="org.eclipse.cdt.core.nullindexer" point="org.eclipse.cdt.core.CIndexer"/>
-<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.XCOFF32" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.GNU_ELF" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.Cygwin_PE" point="org.eclipse.cdt.core.BinaryParser"/>
-<extension id="org.eclipse.cdt.core.MachO" point="org.eclipse.cdt.core.BinaryParser"/>
-</extensions>
-</storageModule>
-
-<storageModule moduleId="org.eclipse.cdt.core.language.mapping"/>
-<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
-
-
-<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
-<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets">
-<buildTargets>
-<target name="all" path="" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments/>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>true</useDefaultCommand>
-<runAllBuilders>true</runAllBuilders>
-</target>
-<target name="clean" path="" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments/>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>true</useDefaultCommand>
-<runAllBuilders>true</runAllBuilders>
-</target>
-<target name="all" path="src-fortran2003" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments/>
-<buildTarget>all</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>true</useDefaultCommand>
-<runAllBuilders>true</runAllBuilders>
-</target>
-<target name="clean" path="src-fortran2003" targetID="org.eclipse.cdt.make.MakeTargetBuilder">
-<buildCommand>make</buildCommand>
-<buildArguments/>
-<buildTarget>clean</buildTarget>
-<stopOnError>false</stopOnError>
-<useDefaultCommand>true</useDefaultCommand>
-<runAllBuilders>true</runAllBuilders>
-</target>
-</buildTargets>
-</storageModule>
-<storageModule moduleId="org.eclipse.cdt.core.pathentry">
-<pathentry kind="out" path=""/>
-<pathentry kind="con" path="org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO"/>
-<pathentry kind="src" path="src-fixed-form-1"/>
-<pathentry kind="src" path="src-fixed-form-2"/>
-<pathentry kind="src" path="src-fortran-and-c"/>
-<pathentry kind="src" path="src-fortran2003"/>
-<pathentry kind="src" path="src-gaussian-elimination"/>
-<pathentry kind="src" path="src-includes"/>
-<pathentry kind="src" path="src-language-features"/>
-<pathentry kind="src" path="src-liebmann-1-eoshift"/>
-<pathentry kind="src" path="src-liebmann-2-arrays"/>
-<pathentry kind="src" path="src-liebmann-3-loops"/>
-<pathentry kind="src" path="src-line-fitting"/>
-<pathentry kind="src" path="src-modules"/>
-<pathentry kind="src" path="src-scoping"/>
-<pathentry kind="src" path="src-implicits-1"/>
-<pathentry kind="src" path="src-implicits-2"/>
-<pathentry kind="src" path="src-implicits-3"/>
-<pathentry kind="src" path="src-common"/>
-<pathentry kind="src" path="src-cray-pointers"/>
-<pathentry kind="src" path="src-interfaces"/>
-</storageModule>
-</cconfiguration>
-</storageModule>
-</cproject>
diff --git a/org.eclipse.photran-samples/.project b/org.eclipse.photran-samples/.project
deleted file mode 100644
index 39247cb..0000000
--- a/org.eclipse.photran-samples/.project
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.photran-samples</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.cdt.make.core.makeBuilder</name>
- <triggers>clean,full,incremental,</triggers>
- <arguments>
- <dictionary>
- <key>org.eclipse.cdt.core.errorOutputParser</key>
- <value>org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;org.eclipse.photran.core.intel.IntelCompilerErrorParser;org.eclipse.photran.core.AbsoftErrorParser;org.eclipse.photran.core.XLFErrorParser;org.eclipse.photran.core.GFortranErrorParser;org.eclipse.photran.core.IntelFortranErrorParser;org.eclipse.photran.core.LaheyFortranErrorParser;org.eclipse.photran.core.G95FortranErrorParser;org.eclipse.photran.core.NAGErrorParser;org.eclipse.photran.core.PGIErrorParser;org.eclipse.photran.errorparsers.xlf.XLFCompilerErrorParser;</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.append_environment</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.build.arguments</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.build.command</key>
- <value>make</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.build.location</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.build.target.auto</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.build.target.clean</key>
- <value>clean</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.build.target.inc</key>
- <value>all</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enableFullBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.enabledIncrementalBuild</key>
- <value>true</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.environment</key>
- <value></value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.stopOnError</key>
- <value>false</value>
- </dictionary>
- <dictionary>
- <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
- <value>true</value>
- </dictionary>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.cdt.make.core.ScannerConfigBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.cdt.core.cnature</nature>
- <nature>org.eclipse.cdt.make.core.makeNature</nature>
- <nature>org.eclipse.cdt.make.core.ScannerConfigNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.photran-samples/.settings/org.eclipse.cdt.core.prefs b/org.eclipse.photran-samples/.settings/org.eclipse.cdt.core.prefs
deleted file mode 100644
index b208aeb..0000000
--- a/org.eclipse.photran-samples/.settings/org.eclipse.cdt.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Wed Aug 15 15:14:22 MDT 2007
-eclipse.preferences.version=1
-indexer/indexerId=org.eclipse.cdt.core.nullindexer
-indexerId=org.eclipse.cdt.core.nullindexer
diff --git a/org.eclipse.photran-samples/.settings/scoped_pref_store.prefs b/org.eclipse.photran-samples/.settings/scoped_pref_store.prefs
deleted file mode 100644
index 40c0f9b..0000000
--- a/org.eclipse.photran-samples/.settings/scoped_pref_store.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Mon Jul 27 12:02:55 CDT 2009
-EnableContentAssist=true
-EnableDeclView=true
-EnableHoverTip=true
-EnableVPG=true
-eclipse.preferences.version=1
diff --git a/org.eclipse.photran-samples/Makefile b/org.eclipse.photran-samples/Makefile
deleted file mode 100644
index 35b9b86..0000000
--- a/org.eclipse.photran-samples/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-# Generic makefile deletes all programs corresponding to .f90 files and rebuilds them
-# Expects to run under bash
-#
-# Jeff Overbey
-#
-# Note - pattern substitution: $(patsubst %.f90,%.exe,$(wildcard *.f90))
-
-# Command to run your Fortran compiler
-FORTRAN=`which gfortran ifort 2>/dev/null | head -1`
-DEBUGSWITCH=-g
-INCLUDESWITCH=-I
-LIBSWITCH=-L
-CRAYSWITCH=-fcray-pointer
-OPTSWITCH=-O4
-OUTSWITCH=-o
-EXEFILE=a.exe
-
-# In each of these directories, all of the sources will be compiled into a single executable
-#SRCDIRS=$(filter-out src-fortran2003, $(wildcard src-*))
-SRCDIRS=$(wildcard src-*)
-
-# Here we do not use $(wildcard) to delay expansion until the shell is invoked
-SRCFILES=*.f*
-OBJFILES=*.o *.obj
-OTHERFILES=*.mod *.fwd *.map *.ydg
-EXEFILES=$(EXEFILE) *.exe
-
-all: clean build
-
-clean:
- for dir in $(SRCDIRS) .; do \
- cd $$dir; \
- rm -f $(OBJFILES) >/dev/null 2>&1; \
- rm -f $(OTHERFILES) >/dev/null 2>&1; \
- rm -f $(EXEFILES) >/dev/null 2>&1; \
- cd ..; \
- done
-
-build:
- @echo "=====>" Using compiler $(FORTRAN)
- @for dir in $(SRCDIRS); do \
- if [ -e $$dir/Makefile ]; then \
- $(MAKE) -C $$dir; \
- else \
- echo "=====>" Begin compiling sources in $$dir; \
- $(FORTRAN) $(DEBUGSWITCH) \
- $(OUTSWITCH) $$dir/$(EXEFILE) \
- $(INCLUDESWITCH). \
- $(INCLUDESWITCH)$$dir \
- $(LIBSWITCH). \
- $(LIBSWITCH)$$dir \
- $(OPTSWITCH) \
- $(CRAYSWITCH) \
- $$dir/$(SRCFILES); \
- echo "<=====" Done compiling sources in $$dir; \
- fi \
- done
- @for dir in $(SRCDIRS) .; do \
- cd $$dir; \
- rm -f $(OBJFILES) >/dev/null 2>&1; \
- rm -f $(OTHERFILES) >/dev/null 2>&1; \
- cd ..; \
- done
diff --git a/org.eclipse.photran-samples/liebmann-viz.gif b/org.eclipse.photran-samples/liebmann-viz.gif
deleted file mode 100644
index f0a3886..0000000
--- a/org.eclipse.photran-samples/liebmann-viz.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.photran-samples/liebmann-viz.sh b/org.eclipse.photran-samples/liebmann-viz.sh
deleted file mode 100644
index c8216af..0000000
--- a/org.eclipse.photran-samples/liebmann-viz.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-#
-# Runs src-liebmann-3-loops/a.exe, which outputs a 2-D matrix of real numbers,
-# and then feeds this matrix to gnuplot to generate a visualization, which
-# is saved as liebmann-viz.gif.
-#
-# J. Overbey 8/27/08
-#
-
-src-liebmann-3*/a.exe >data
-
-cat <<EOF | gnuplot
-#==GNUPLOT INPUT=================================================================
-set term gif
-set output "liebmann-viz.gif"
-
-#set pm3d # 1a. Normal
- set pm3d map # 1b. Display a 2-D color gradient rather than the 3-D visualization
-#set pm3d at b # 1c. Display a 2-D color gradient under the 3-D visualization
-
-# # 2a. Nothing = Black to yellow via blue and red
-#set palette model XYZ functions gray**0.35, gray**0.5, gray**0.8 # 2b. Brown to yellow
- set palette model XYZ functions gray**0.3, gray**0.5, 0 # 2b. Dark red to yellow (Jeff)
-#set palette model XYZ functions gray**0.8, gray**0.5, gray**0.35 # 2c. Green to yellow
-#set palette rgbformulae 21,22,23 # 2d. Black to red to yellow to white
-#set palette rgbformulae 22,13,-31 # 2e. Blue to green to yellow to red
-#set palette defined (0 "black", 2.5 "red", 5 "yellow")
-
- splot 'data' matrix notitle # 3a. Plot normally
-#splot 'data' matrix notitle with pm3d # 3b. Colorize the 3-D visualization (set 1a above)
-
-#================================================================================
-EOF
-
-rm -f data
-
-echo "Visualization saved as liebmann-viz.gif"
-
-if [ `uname -s` == "Darwin" ]; then
- open liebmann-viz.gif
-elif [ `which eog` != "" ]; then
- eog liebmann-viz.gif
-fi
diff --git a/org.eclipse.photran-samples/src-common/.cvsignore b/org.eclipse.photran-samples/src-common/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-common/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-common/change_c.f90 b/org.eclipse.photran-samples/src-common/change_c.f90
deleted file mode 100644
index d028d90..0000000
--- a/org.eclipse.photran-samples/src-common/change_c.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-subroutine change_c
- implicit none
-
- ! Now k is the same as c in main.f90
- common /common/ k
- complex :: k
-
- k = (5,6)
-end subroutine
diff --git a/org.eclipse.photran-samples/src-common/main.f90 b/org.eclipse.photran-samples/src-common/main.f90
deleted file mode 100644
index d322922..0000000
--- a/org.eclipse.photran-samples/src-common/main.f90
+++ /dev/null
@@ -1,50 +0,0 @@
-!!
-!! Demonstrates COMMON block nightmare
-!!
-!! J. Overbey 8/18/08
-!!
-program main
- implicit none
-
- external change_c
-
- common a, b
- integer :: a
- real :: b
-
- common /common/ c, d, e /common2/ f, g, /common3/ h
- complex :: c
- dimension c(3)
- ! double precision :: d, e, f, g, h
- double precision :: d
- double precision :: e
- double precision :: f
- double precision :: g
- double precision :: h
-
- a = 1
- b = 2.3
- c = (4,5)
- print *, a, b, c
-
- call change_ab
- call change_c
-
- print *, "Now the first two variables below should have garbage values"
- print *, "and the third should be (5,6):"
- print *, a, b, c
-end program
-
-subroutine change_ab
- implicit none
-
- ! q and r are stored at the same place in memory as a and b above,
- ! but they have the wrong types
- common q, r
- real :: q
- integer :: r
-
- q = 4.5
- r = 6
- print *, q, r
-end subroutine
diff --git a/org.eclipse.photran-samples/src-cray-pointers/.cvsignore b/org.eclipse.photran-samples/src-cray-pointers/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-cray-pointers/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-cray-pointers/cray-pointers.f90 b/org.eclipse.photran-samples/src-cray-pointers/cray-pointers.f90
deleted file mode 100644
index cc6ac70..0000000
--- a/org.eclipse.photran-samples/src-cray-pointers/cray-pointers.f90
+++ /dev/null
@@ -1,46 +0,0 @@
-! Examples using Cray pointers (non-standard extension)
-! Jeff Overbey 8/27/08
-
-implicit none
-
-call example1
-call example2
-call example3
-end
-
-! Example 1: Pointer to scalar
-subroutine example1()
- integer :: pointer ! A Cray pointer is just an integer
- pointer (pointer, pointee) ! We associate the pointer variable with another variable
- real :: pointee ! To dereference the pointer, we read this variable
-
- real :: value = 5.0
-
- pointer = loc(value)
- print *, pointee ! = 5.0
-end subroutine
-
-! Example 2: Pointer to array, constant size
-subroutine example2()
- integer :: pointer
- real :: pointee
- pointer (pointer, pointee(5))
-
- real :: array(5) = (/ 1.1, 2.2, 3.3, 4.4, 5.5 /)
-
- pointer = loc(array)
- print *, pointee(3) ! = 3.3
-end subroutine
-
-! Example 3: Pointer to array, arbitrary size
-subroutine example3()
- integer :: pointer
- real :: pointee
- pointer (pointer, pointee(*))
-
- real :: array(5) = (/ 1.1, 2.2, 3.3, 4.4, 5.5 /)
-
- pointer = loc(array)
- print *, pointee(-2) ! = 3.3
- print *, pointee(3) ! = 3.3
-end subroutine
diff --git a/org.eclipse.photran-samples/src-fixed-form-1/.cvsignore b/org.eclipse.photran-samples/src-fixed-form-1/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-fixed-form-1/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-fixed-form-1/hello.f b/org.eclipse.photran-samples/src-fixed-form-1/hello.f
deleted file mode 100755
index 5e515bd..0000000
--- a/org.eclipse.photran-samples/src-fixed-form-1/hello.f
+++ /dev/null
@@ -1,14 +0,0 @@
-c Ugly fixed form hello world program demonstrates intelligent syntax highlighting
- programasampleprogram
- implicitreal(i)
- if=0.0
- if(sine(if).lt..00001)then Variable if
- print*,'Hello, old-school Fortran!'
- endif
- stop
- c o n t a i n s
- realfunctionsine(x)
- real,intent(in)::x
- sine=sin(x)
- endfunction
- endprogramasampleprogram
\ No newline at end of file
diff --git a/org.eclipse.photran-samples/src-fixed-form-2/.cvsignore b/org.eclipse.photran-samples/src-fixed-form-2/.cvsignore
deleted file mode 100644
index 66fec5b..0000000
--- a/org.eclipse.photran-samples/src-fixed-form-2/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.exe
-*.mod
diff --git a/org.eclipse.photran-samples/src-fixed-form-2/Makefile b/org.eclipse.photran-samples/src-fixed-form-2/Makefile
deleted file mode 100644
index 8eb26a6..0000000
--- a/org.eclipse.photran-samples/src-fixed-form-2/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# gfortran 4.4.0 cannot parse sample.f, so only compile if Intel Fortran is available
-
-.PHONY: all clean
-
-SRC=sample.f
-
-IFORT=`which ifort 2>/dev/null | head -1`
-DEBUGSWITCH=-g
-OPTSWITCH=-O4
-OUTSWITCH=-o
-
-all:
- @if [ "$(IFORT)" != "" ]; then \
- for file in $(SRC); do \
- $(IFORT) $(DEBUGSWITCH) \
- $(OUTSWITCH) `echo $$file | sed -e 's/.f/.exe/'` \
- $(OPTSWITCH) \
- $$file; \
- done; \
- fi
-
-clean:
- rm -f *.exe *.mod
\ No newline at end of file
diff --git a/org.eclipse.photran-samples/src-fixed-form-2/sample.f b/org.eclipse.photran-samples/src-fixed-form-2/sample.f
deleted file mode 100644
index ea1288d..0000000
--- a/org.eclipse.photran-samples/src-fixed-form-2/sample.f
+++ /dev/null
@@ -1,14 +0,0 @@
- program blah
- integer :: xyz,y
- xy sdfgsdfgsd
- $ z = 3
- y = 5
- if(sin(y+0.0)
- $ .lt.x)then Variable cr
- print*,'Hello, old-school Fortran!'
- endif
- end pro
- $ gram
-
-
-
diff --git a/org.eclipse.photran-samples/src-fortran-and-c/Makefile b/org.eclipse.photran-samples/src-fortran-and-c/Makefile
deleted file mode 100644
index 99ecf1a..0000000
--- a/org.eclipse.photran-samples/src-fortran-and-c/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# Requires g95 under Windows (since calling a C function; proprietary)
-
-clean:
- rm -f a.exe *.o
-
-all:
- gcc -g -c c.c
- g95 -g -c fortran.f90
- g95 -o a.exe c.o fortran.o
- rm *.o
diff --git a/org.eclipse.photran-samples/src-fortran-and-c/c.c b/org.eclipse.photran-samples/src-fortran-and-c/c.c
deleted file mode 100644
index b21f9c1..0000000
--- a/org.eclipse.photran-samples/src-fortran-and-c/c.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <stdio.h>
-
-void cfunction_()
-{
- printf(" This is the C function\n");
-}
diff --git a/org.eclipse.photran-samples/src-fortran-and-c/fortran.f90 b/org.eclipse.photran-samples/src-fortran-and-c/fortran.f90
deleted file mode 100644
index eef8e42..0000000
--- a/org.eclipse.photran-samples/src-fortran-and-c/fortran.f90
+++ /dev/null
@@ -1,38 +0,0 @@
- external cfunction ! Defined in c.c
-
- print *, 'This is the Fortran program; I am going to call the C function now...'
- call cfunction()
- call sum(1.0,2.0,3.0)
- call factorial(3)
- print *, 'Now we are back in Fortran again'
-
-contains
-
- subroutine sum(x,y,z)
-
- x = x+y+z
-
- print *, x
-
- end subroutine sum
-
- subroutine factorial(j)
-
- p=1
- i=1
- do i=1,j
- p=p*i
- end do
-
- print *, j, "! = ", p
-
- end subroutine factorial
-
- subroutine sum2(x,y)
-
- p = x+y
-
- end subroutine sum2
-
-
-end
diff --git a/org.eclipse.photran-samples/src-fortran2003/.cvsignore b/org.eclipse.photran-samples/src-fortran2003/.cvsignore
deleted file mode 100644
index 66fec5b..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*.exe
-*.mod
diff --git a/org.eclipse.photran-samples/src-fortran2003/01-class.f03 b/org.eclipse.photran-samples/src-fortran2003/01-class.f03
deleted file mode 100644
index cb50da6..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/01-class.f03
+++ /dev/null
@@ -1,23 +0,0 @@
-! Simple class -- JO 1/28/09
-module m
- implicit none
-
- type c
- contains
- procedure :: p
- end type
-contains
- subroutine p(self)
- class(c), intent(in) :: self
- print *, 'Hi'
- end subroutine
-end module
-
-program Fortran2003
- use m
- implicit none
-
- type(c) :: t
- call t%p
- stop
-end program
diff --git a/org.eclipse.photran-samples/src-fortran2003/02-inheritance.f03 b/org.eclipse.photran-samples/src-fortran2003/02-inheritance.f03
deleted file mode 100644
index 5bf83e0..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/02-inheritance.f03
+++ /dev/null
@@ -1,40 +0,0 @@
-! Inheritance -- JO 1/28/09
-module m1
- implicit none
-
- type c
- character(20) :: STR = 'Hey there'
- contains
- procedure :: p
- end type
-contains
- subroutine p(self)
- class(c), intent(in) :: self
- print *, 'Hi'
- end subroutine
-end module
-
-module m2
- use m1
- implicit none
-
- type, extends(c) :: c2
- contains
- procedure :: p => c2_p
- end type
-contains
- ! Can't call this p
- subroutine c2_p(self)
- class(c2), intent(in) :: self
- print *, self%STR
- end subroutine
-end module
-
-program Fortran2003
- use m2
- implicit none
-
- type(c2) :: t
- call t%p
- stop
-end program
diff --git a/org.eclipse.photran-samples/src-fortran2003/03-destructor.f03 b/org.eclipse.photran-samples/src-fortran2003/03-destructor.f03
deleted file mode 100644
index b82eb20..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/03-destructor.f03
+++ /dev/null
@@ -1,66 +0,0 @@
-! Destructor -- JO 1/28/09
-module m1
- implicit none
- private
-
- type, public :: c1
- character(20) :: STR = 'Hey there'
- contains
- procedure :: p
- final :: destructor
- end type
-contains
- subroutine p(self)
- class(c1), intent(in) :: self
- print *, 'Hi'
- end subroutine
-
- subroutine destructor(self)
- type(c1), intent(in) :: self
- print *, 'Bye'
- end subroutine
-end module
-
-module m2
- use m1
- implicit none
- private
-
- type, extends(c1), public :: c2
- contains
- procedure :: p
- end type
-contains
- subroutine p(self)
- class(c2), intent(in) :: self
- print *, self%STR
- end subroutine
-end module
-
-program Fortran2003
- use m1
- use m2
- implicit none
-
- type(c1), target :: c1obj
- type(c2), target :: c2obj
-
- class(c1), pointer :: c1ptr => null()
- class(c2), pointer :: c2ptr => null()
-
- allocate(c1ptr)
- allocate(c2ptr)
-
- c1ptr => c1obj
- c2ptr => c2obj
-
- call c1ptr%p
- call c2ptr%p
- c1ptr => c2ptr
- call c1ptr%p
-
- deallocate(c1ptr)
- deallocate(c2ptr)
-
- stop
-end program
diff --git a/org.eclipse.photran-samples/src-fortran2003/Makefile b/org.eclipse.photran-samples/src-fortran2003/Makefile
deleted file mode 100644
index 303029a..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-.PHONY: all clean
-ALL_SRC=$(filter-out xlf-bug.f03 xlf-crash.f03, $(wildcard *.f03))
-
-############ WHICH FILES ARE COMPILED DEPENDS ON THE COMPILER #############
-
-XLF_SRC=$(ALL_SRC)
-
-NAGFOR_SRC=$(filter-out 03-destructor.f03 string.f03, $(ALL_SRC))
-
-###########################################################################
-
-XLF =`which xlf 2>/dev/null | head -1`
-NAGFOR=`which nagfor 2>/dev/null | head -1`
-DEBUGSWITCH=-g
-OPTSWITCH=-O4
-OUTSWITCH=-o
-
-all:
- @if [ "$(NAGFOR)" != "" ]; then \
- for file in $(NAGFOR_SRC); do \
- $(NAGFOR) $(DEBUGSWITCH) \
- $(OUTSWITCH) `echo $$file | sed -e 's/.f03/.exe/'` \
- $(OPTSWITCH) \
- $$file; \
- done; \
- elif [ "$(XLF)" != "" ]; then \
- for file in $(XLF_SRC); do \
- $(XLF) $(DEBUGSWITCH) \
- $(OUTSWITCH) `echo $$file | sed -e 's/.f03/.exe/'` \
- $(OPTSWITCH) \
- $$file; \
- done; \
- fi
-
-clean:
- rm -f *.exe *.mod
\ No newline at end of file
diff --git a/org.eclipse.photran-samples/src-fortran2003/char-fn-test.f03 b/org.eclipse.photran-samples/src-fortran2003/char-fn-test.f03
deleted file mode 100644
index ba14363..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/char-fn-test.f03
+++ /dev/null
@@ -1,7 +0,0 @@
-! Test of a function returning a string -- JO 1/29/09
- print *, c()
-contains
- character(len=len("Hello")) function c()
- c = "Hello"
- end function
-end program
diff --git a/org.eclipse.photran-samples/src-fortran2003/nag-bug.f03 b/org.eclipse.photran-samples/src-fortran2003/nag-bug.f03
deleted file mode 100644
index df6837d..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/nag-bug.f03
+++ /dev/null
@@ -1,35 +0,0 @@
-! Demonstrates a parser bug in NAG Fortran Compiler Release 5.2(649)
-! NPLUX52NA for x86-32 Linux
-!
-! Line 34 reports a syntax error due to the empty parentheses ()
-! However, the statement should parse with
-! pointer-assignment-stmt (R735)
-! > data-target (R739)
-! > expr (R722)
-! > ...
-! > primary (R701)
-! > function-reference (R1217)
-! > procedure-designator "(" [actual-arg-spec-list] ")"
-! where actual-arg-spec-list is marked as being optional and
-! procedure-designator (R1219) > data-ref "%" binding-name
-!
-! J. Overbey 2/23/09 - overbey2@illinois.edu
-module m
- type t; contains; procedure :: ptr; end type
-contains
- function ptr(self)
- class(t), intent(in) :: self
- class(*), pointer :: ptr
- ptr => null()
- end function
-end module
-
-program program
- use m
-
- class(t), pointer :: t_ptr
- class(*), pointer :: any_ptr
-
- allocate (t_ptr)
- any_ptr => t_ptr%ptr() ! <<<<<<<<<< Reported syntax error
-end program
diff --git a/org.eclipse.photran-samples/src-fortran2003/params.f03 b/org.eclipse.photran-samples/src-fortran2003/params.f03
deleted file mode 100644
index 5f52560..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/params.f03
+++ /dev/null
@@ -1,22 +0,0 @@
-! Testing behavior of pass-by-reference
-
-integer, parameter :: q = 1
-
-call s(1) ! Can't byref (literal)
-
-n = 1
-call s(n) ! Can byref (variable)
-print *, "Expected:", 2, "Actual:", n
-
-call s(q) ! Can't byref (parameter)
-print *, "Expected:", 1, "Actual:", q
-
-stop
-
-contains
- subroutine s(p)
- integer :: p
- p = 2
- print *, "Expected:", 2, "Actual:", p
- end subroutine
-end
diff --git a/org.eclipse.photran-samples/src-fortran2003/stream-io.f03 b/org.eclipse.photran-samples/src-fortran2003/stream-io.f03
deleted file mode 100644
index c7637ea..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/stream-io.f03
+++ /dev/null
@@ -1,59 +0,0 @@
-!>
-!! Sample program demonstrates stream I/O in Fortran 2003.
-!!
-!! Jeff Overbey (2/22/09)
-!<
-program stream_io
- implicit none
-
- integer, parameter :: FILE = 2
-
- call check_byte_kind
- call create_file
- call read_file
- stop
-
-contains
- subroutine check_byte_kind
- integer(kind=1) :: byte = 127 + 1
- integer :: int = 127 + 1
- if (byte .ne. -128 .or. int .ne. 128) &
- stop "integer(kind=1) is not one byte"
- end subroutine
-
- subroutine create_file
- integer(kind=1) byte
-
- open (FILE, status='replace', action='write', access='stream', form='unformatted', file='bytes')
- write (FILE) transfer("A", byte)
- write (FILE) transfer("B", byte)
- write (FILE) new_line("x")
- write (FILE) transfer("C", byte)
- close (FILE)
- end subroutine
-
- subroutine read_file
- integer(kind=1) byte
- integer pos, status
- character*256 :: errmsg
-
- open (FILE, status='old', action='read', access='stream', form='unformatted', file='bytes')
- do
- inquire (FILE, pos=pos)
- print *, "Position is", pos
-
- !read (FILE, pos=pos, iostat=status, iomsg=errmsg) byte
- read (FILE, iostat=status, iomsg=errmsg) byte
- if (status .eq. 0) then
- print '("Read byte ", i5, ", status is ", i5)', byte, status
- else if (is_iostat_end(status)) then
- exit
- else
- print *, errmsg
- stop "I/O error"
- end if
- end do
- print '("Read ", i5, " bytes")', pos-1
- close (FILE)
- end subroutine
-end program
diff --git a/org.eclipse.photran-samples/src-fortran2003/string.f03 b/org.eclipse.photran-samples/src-fortran2003/string.f03
deleted file mode 100644
index d66440d..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/string.f03
+++ /dev/null
@@ -1,411 +0,0 @@
-!>
-!! Definition of a string class for Fortran.
-!!
-!! Jeff Overbey (1/29/09)
-!<
-module string_module
- implicit none
- private
-
- public :: new_string
-
- interface new_string
- module procedure &
- new_string_string, &
- new_string_integer, &
- new_string_logical
- end interface
-
- type, public :: string
- private
- character, dimension(:), allocatable :: data
- integer :: length = 0
- contains
- procedure :: initialize
- generic :: operator(+) => concat1, concat2
- generic :: concat => concat1, concat2 ! Photran doesn't parse - R1207
- procedure :: substring
- procedure :: char_at
- procedure :: map
- procedure :: to_uppercase
- procedure :: to_lowercase
- generic :: write(formatted) => write_formatted ! Photran doesn't parse
- generic :: write(unformatted) => write_unformatted
- procedure :: value
- generic :: operator(==) => equals
- generic :: operator(.eqic.) => equals_ignore_case
- final :: destructor
-
- procedure, private :: concat1
- procedure, private :: concat2
- procedure, private :: write_formatted
- procedure, private :: write_unformatted
- procedure, private :: all_satisfy
- procedure, private :: equals
- procedure, private :: equals_ignore_case
- end type string
-
-contains
-
- type(string) function new_string_string(string) result(return)
- character(len=*), intent(in) :: string
- call return%initialize(string)
- end function
-
- type(string) function new_string_integer(integer) result(return)
- integer, intent(in) :: integer
- return = new_string_nat(abs(integer))
- if (integer < 0) return = new_string("-") + return
- end function
-
- type(string) function new_string_logical(logical) result(return)
- logical, intent(in) :: logical
- if (logical) then
- return = new_string('.true.')
- else
- return = new_string('.false.')
- end if
- end function
-
- type(string) recursive function new_string_nat(absval) result(return)
- integer, intent(in) :: absval
-
- if (0 <= absval .and. absval <= 9) then
- call return%initialize(digit_string(absval))
- else
- return = new_string_nat(absval / 10) + digit_string(mod(absval, 10))
- end if
- end function
-
- character(len=1) function digit_string(digit)
- integer, intent(in) :: digit
- select case (digit)
- case (0); digit_string = '0'
- case (1); digit_string = '1'
- case (2); digit_string = '2'
- case (3); digit_string = '3'
- case (4); digit_string = '4'
- case (5); digit_string = '5'
- case (6); digit_string = '6'
- case (7); digit_string = '7'
- case (8); digit_string = '8'
- case (9); digit_string = '9'
- end select
- end function
-
- subroutine initialize(self, data)
- class(string), intent(inout) :: self
- character(len=*), intent(in) :: data
- integer :: i
-
- self%length = len(data)
- allocate(self%data(self%length))
- do i = 1, len(data)
- self%data(i) = data(i:i)
- end do
- end subroutine
-
- ! XLF parses class(string) but gives semantic error; Photran doesn't parse
- type(string) function concat1(self, other) result(return)
- class(string), intent(in) :: self
- class(string), intent(in) :: other
-
- return = concat2(self, other%value())
- end function
-
- type(string) function concat2(self, other) result(return)
- class(string), intent(in) :: self
- character(len=*), intent(in) :: other
- integer :: i
-
- return%length = self%length + len(other)
- allocate(return%data(return%length))
- return%data(1:self%length) = self%data
- do i = 1, len(other); return%data(i + self%length) = other(i:i); end do
- end function
-
- type(string) function substring(self, start, thru) result(return)
- class(string), intent(in) :: self
- integer, intent(in) :: start, thru
-
- if (thru < start) return
-
- return%length = thru - start + 1
- allocate(return%data(return%length))
- return%data(1:self%length) = self%data(start:thru)
- end function
-
- character(len=1) function char_at(self, index) result(return)
- class(string), intent(in) :: self
- integer, intent(in) :: index
- return = self%data(index)
- end function
-
- type(string) function map(self, function) result(return)
- class(string), intent(in) :: self
- interface
- character(len=1) function function(string)
- character(len=1), intent(in) :: string
- end function
- end interface
- integer :: i
-
- return%length = self%length
- allocate(return%data(return%length))
- do i = 1, self%length
- return%data(i) = function(self%data(i))
- end do
- end function
-
- type(string) function to_uppercase(self) result(return)
- class(string), intent(in) :: self
- return = self%map(to_upper)
- !contains ! Causes XLF compiler bug -- see xlf-bug.f03
- end function
- character(len=1) function to_upper(ch) result(return)
- character(len=1), intent(in) :: ch
- integer, parameter :: diff = iachar('a') - iachar('A')
-
- if (lle('a', ch) .and. lle(ch, 'z')) then
- return = achar(iachar(ch) - diff)
- else
- return = ch
- end if
- end function
- !end function
-
- type(string) function to_lowercase(self) result(return)
- class(string), intent(in) :: self
- return = self%map(to_lower)
- !contains ! Causes XLF compiler bug -- see xlf-bug.f03
- end function
- character(len=1) function to_lower(ch) result(return)
- character(len=1), intent(in) :: ch
- integer, parameter :: diff = iachar('a') - iachar('A')
-
- if (lle('A', ch) .and. lle(ch, 'Z')) then
- return = achar(iachar(ch) + diff)
- else
- return = ch
- end if
- end function
- !end function
-
- subroutine write_formatted(self, unit, iotype, v_list, iostat, iomsg)
- class(string), intent(in) :: self
- integer, intent(in) :: unit
- character(*), intent(in) :: iotype
- integer, dimension(:), intent(in) :: v_list
- integer, intent(out) :: iostat
- character(*), intent(inout) :: iomsg
- ! TODO Incomplete
- write (unit=unit, fmt=*, iostat=iostat, iomsg=iomsg) self%value()
- end subroutine
-
- subroutine write_unformatted(self, unit, iostat, iomsg)
- class(string), intent(in) :: self
- integer, intent(in) :: unit
- integer, intent(out) :: iostat
- character(*), intent(inout) :: iomsg
- ! TODO Incomplete
- write (unit=unit, fmt=*, iostat=iostat, iomsg=iomsg) self%value()
- end subroutine
-
- character(len=self%length) function value(self) result(result)
- class(string), intent(in) :: self
- integer :: i
-
- do i = 1, ubound(self%data, 1)
- result(i:i) = self%data(i)
- end do
- end function
-
- logical function all_satisfy(self, function, other) result(return)
- class(string), intent(in) :: self
- interface
- logical function function(ch1, ch2)
- character(len=1), intent(in) :: ch1, ch2
- end function
- end interface
- class(string), intent(in) :: other
- integer :: i
-
- if (self%length <> other%length) then
- return = .false.
- else
- return = .true.
- do i = 1, self%length
- if (function(self%data(i), other%data(i)) .eqv. .false.) then
- return = .false.
- return
- end if
- end do
- end if
- end function
-
- logical function equals(self, other) result(return)
- class(string), intent(in) :: self
- class(string), intent(in) :: other
- return = self%all_satisfy(ch_eq, other)
- end function
-
- logical function ch_eq(ch1, ch2) result(return)
- character(len=1), intent(in) :: ch1, ch2
- return = ch1 .eq. ch2
- end function
-
- logical function equals_ignore_case(self, other) result(return)
- class(string), intent(in) :: self
- class(string), intent(in) :: other
- return = self%all_satisfy(ch_eqic, other)
- end function
-
- logical function ch_eqic(ch1, ch2) result(return)
- character(len=1), intent(in) :: ch1, ch2
- return = to_upper(ch1) .eq. to_upper(ch2)
- end function
-
- subroutine destructor(self)
- type(string), intent(inout) :: self
- end subroutine
-
-end module string_module
-
-module test_util
- implicit none
-contains
- character(len=1) function identity(string) result(return)
- character(len=1), intent(in) :: string
- return = string
- end function
-
- character(len=1) function always_a(string) result(return)
- character(len=1), intent(in) :: string
- return = 'a'
- end function
-end module test_util
-
-program string_test
- use string_module
- use test_util
- implicit none
-
- type(string) :: s1, s2
-
- print *, "Expected: "
- print *, "Actual: ", s1%value()
-
- call s1%initialize('Hello')
- call s2%initialize('!')
-
- print *, "Expected: Hello"
- print *, "Actual: ", s1%value()
-
- s1 = new_string("HeLlOoO!")
- print *, "Expected: HeLlOoO!"
- print *, "Actual: ", s1%value()
- s1 = new_string("Hello")
-
- s1 = s1%concat(', world')
- print *, "Expected: Hello, world"
- print *, "Actual: ", s1%value()
-
- s1 = s1%concat(s2)
- print *, "Expected: Hello, world!"
- print *, "Actual: ", s1%value()
-
- s1 = s1 + '!'
- !print *, (s1 + '!')%value()
- print *, "Expected: Hello, world!!"
- print *, "Actual: ", s1%value()
-
- print *, "Expected: -9876x"
- print *, "Actual: ", new_string("-") + new_string("9876x")
-
- print *, "Expected: ell"
- print *, "Actual: ", "Hello, world!!"(2:4)
- print *, "Expected: ell"
- print *, "Actual: ", s1%substring(2, 4)
-
- print *, "Expected: He"
- print *, "Actual: ", s1%substring(0, 2)
-
- print *, "Expected: "
- print *, "Actual: ", "Hello, world!!"(5:1)
- print *, "Expected: "
- print *, "Actual: ", s1%substring(5, 1)
-
- print *, "Expected: e"
- print *, "Actual: ", s1%char_at(2)
-
- print *, "Expected: ", "Hello, world!!"
- print *, "Actual: ", s1%map(identity)
-
- print *, "Expected: ", "aaaaaaaaaaaaaa"
- print *, "Actual: ", s1%map(always_a)
-
- print *, "Expected: HELLO, WORLD!!"
- print *, "Actual: ", s1%to_uppercase()
-
- print *, "Expected: hello, world!!"
- print *, "Actual: ", s1%to_lowercase()
-
- print *, "Expected: Hello, world!!"
- print *, "Actual: ", s1
-
- print *, "Expected: 0"
- print *, "Actual: ", new_string(0)
-
- print *, "Expected: 5"
- print *, "Actual: ", new_string(5)
-
- print *, "Expected: 12345"
- print *, "Actual: ", new_string(12345)
-
- print *, "Expected: -8"
- print *, "Actual: ", new_string(-8)
-
- print *, "Expected: -98765"
- print *, "Actual: ", new_string(-98765)
-
- print *, "Expected: .true."
- print *, "Actual: ", new_string(.true.)
-
- print *, "Expected: .false."
- print *, "Actual: ", new_string(.false.)
-
- print *, "Expected: T"
- print *, "Actual: ", new_string(.false.) == new_string(".false.")
-
- print *, "Expected: T"
- print *, "Actual: ", new_string("") == new_string("")
-
- print *, "Expected: F"
- print *, "Actual: ", new_string("") == new_string("true")
-
- print *, "Expected: F"
- print *, "Actual: ", new_string("true") == new_string("")
-
- print *, "Expected: F"
- print *, "Actual: ", new_string("true") == new_string("truE")
-
- print *, "Expected: T"
- print *, "Actual: ", new_string(.false.) .eqic. new_string(".false.")
-
- print *, "Expected: T"
- print *, "Actual: ", new_string("") .eqic. new_string("")
-
- print *, "Expected: F"
- print *, "Actual: ", new_string("") .eqic. new_string("true")
-
- print *, "Expected: F"
- print *, "Actual: ", new_string("true") .eqic. new_string("")
-
- print *, "Expected: T"
- print *, "Actual: ", new_string("true") .eqic. new_string("truE")
-
- print *, "Expected: T"
- print *, "Actual: ", new_string("tRUe") .eqic. new_string("TrUe")
-
- print *, "Done"
-end program string_test
diff --git a/org.eclipse.photran-samples/src-fortran2003/xlf-bug.f03 b/org.eclipse.photran-samples/src-fortran2003/xlf-bug.f03
deleted file mode 100644
index 31776da..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/xlf-bug.f03
+++ /dev/null
@@ -1,62 +0,0 @@
-!>
-!! Illustrates a bug in IBM XL Fortran for AIX, V12.1 (5724-U82)
-!!
-!! The function "identity" is an internal function which
-!! is passed as a parameter to the "map" routine. However, when it is invoked as a callback,
-!! the string it receives as its first parameter is not the string that was actually passed
-!! as the first parameter by the invoking function.
-!!
-!! Jeff Overbey (1/29/09)
-!<
-module string_module
- implicit none
- private
-
- type, public :: string
- contains
- procedure :: map
- procedure :: copy
- end type string
-
-contains
-
- ! Applies function to each of the strings 'H', 'e', 'l', 'l', 'o'
- subroutine map(self, function)
- class(string), intent(in) :: self
- interface
- character(len=1) function function(string)
- character(len=1), intent(in) :: string
- end function
- end interface
-
- character, dimension(5) :: hello = (/ 'H', 'e', 'l', 'l', 'o' /)
- integer :: i
-
- do i = 1, 5
- print *, "Invoking callback with parameter ", hello(i)
- hello(i) = function(hello(i))
- end do
- end subroutine
-
- ! Invokes map with the identity function (defined below)
- subroutine copy(self)
- class(string), intent(in) :: self
- call self%map(identity)
- contains
- !!!!! Error is demonstrated when this (internal) function is
- !!!!! passed as an argument to the map procedure: The "ch"
- !!!!! argument is a garbage string, not the one actually
- !!!!! passed by map
- character(len=1) function identity(ch) result(return)
- character(len=1), intent(in) :: ch
- print *, "Callback invoked with parameter ", ch
- return = ch
- end function
- end subroutine
-end module string_module
-
-program string_test
- use string_module
- type(string) :: s
- call s%copy()
-end program string_test
diff --git a/org.eclipse.photran-samples/src-fortran2003/xlf-bug2.f03 b/org.eclipse.photran-samples/src-fortran2003/xlf-bug2.f03
deleted file mode 100644
index 91ace76..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/xlf-bug2.f03
+++ /dev/null
@@ -1,55 +0,0 @@
-!>
-!! Illustrates a bug in IBM XL Fortran for AIX, V12.1 (5724-U82)
-!!
-!! XLF reports errors when a subclass, whose parent class is in a different
-!! module, overrides a procedure with a pointer to class(*) as either an
-!! argument or a return type. If both modules are combined into a single
-!! module, the code compiles successfully.
-!!
-!! Jeff Overbey (2/24/09)
-!<
-module mod_base
- implicit none
- private
- ! Abstract class "base" contains two routines
- ! * accept_any accepts a pointer to class(*)
- ! * return_any returns a pointer to class(*)
- type, public, abstract :: base
- contains
- procedure(accept_any), deferred :: accept_any
- procedure(return_any), deferred :: return_any
- end type
- abstract interface
- subroutine accept_any(self, arg)
- import base
- class(base), intent(in) :: self
- class(*), pointer, intent(in) :: arg
- end subroutine
- function return_any(self) result(return)
- import base
- class(base), intent(in) :: self
- class(*), pointer :: return
- end function
- end interface
-end module
-module mod_extended
- use mod_base
- implicit none
- private
- type, public, extends(base) :: extended
- contains
- procedure :: accept_any => extended_accept_any ! XLF reports Dummy argument arg of overridden binding accept_any and the corresponding dummy argument of overriding binding accept_any must have the same type and type parameters.
- procedure :: return_any => extended_return_any ! XLF reports The function results of the overridden binding return_any and overridding binding return_any must have the same type and type parameters.
- end type
-contains
- subroutine extended_accept_any(self, arg)
- class(extended), intent(in) :: self
- class(*), pointer, intent(in) :: arg
- end subroutine
- function extended_return_any(self) result(return)
- class(extended), intent(in) :: self
- class(*), pointer :: return
- return => null()
- end function
-end module
-program p; end program
diff --git a/org.eclipse.photran-samples/src-fortran2003/xlf-crash.f03 b/org.eclipse.photran-samples/src-fortran2003/xlf-crash.f03
deleted file mode 100644
index ad259b3..0000000
--- a/org.eclipse.photran-samples/src-fortran2003/xlf-crash.f03
+++ /dev/null
@@ -1,20 +0,0 @@
-!>
-!! Example program causes an internal compiler error in
-!! IBM XL Fortran for AIX, V12.1 (5724-U82)
-!!
-!! Jeff Overbey (1/29/09)
-!<
-module m
- type string
- character, dimension(:), pointer :: data
- contains
- procedure value
- end type
-contains
- ! XLF internal compiler error due to this expression
- ! vvvvvvvvvvvvvvvvvvvv
- character(len=ubound(self%data, 1)) function value(self) !result(result)
- class(string), intent(in) :: self
- value = ''
- end function
-end module
diff --git a/org.eclipse.photran-samples/src-gaussian-elimination/.cvsignore b/org.eclipse.photran-samples/src-gaussian-elimination/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-gaussian-elimination/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-gaussian-elimination/gauselim.f90 b/org.eclipse.photran-samples/src-gaussian-elimination/gauselim.f90
deleted file mode 100755
index f193e2d..0000000
--- a/org.eclipse.photran-samples/src-gaussian-elimination/gauselim.f90
+++ /dev/null
@@ -1,239 +0,0 @@
-program GaussianElimination
-! Solve a linear system of equations with Gaussian Elimination
-! and Back Substitution
-
-! SUBROUTINES: mtxrd,mtxwrt,mtxmlt
-
-! Always declare ALL variables
- implicit none
- INTEGER :: indx,jndx,kndx,lndx ! loop counters
- INTEGER :: nsize ! # of equations (size of the A matrix)
- REAL :: amtx(10,10) ! A matrix in Ax=B
- REAL :: bvct(10) ! B vector in Ax=B
- REAL :: xvct(10) ! x vector in Ax=B
- REAL :: scl(10) ! Scale factors
- INTEGER :: irow(10) ! Row numbers (for swapping rows)
- INTEGER :: ipivot ! Pivot row
- INTEGER :: itemp ! Temporary value while swapping
- REAL :: tmpval ! Temporary value while pivoting
- REAL :: pival ! Pivot value
- REAL :: fctr ! Multiplication factor for row reduction
- CHARACTER(len = 64) :: filein ! Input file name
- INTEGER :: ieof ! Flag to ensure the file opens correctly
-
-! Initially, no row swaps
- do indx = 1, 10
- irow(indx) = indx
- end do
-
-! Introduce the program
- write (*, *) &
- 'Program to solve a linear system of equations using'
- write (*, *) &
- ' Gaussian Elimination and Back Substitution'
- write (*, *) ! A Blank Line
-
-! Read from a file (we don't have to type all those numbers)
- write (*, *) 'Enter the input file name: '
- read (*, *) filein
- open (10, file = filein, status = 'old', iostat = ieof)
-
-! If I have trouble opening the file, blow me out of the program!
- if (ieof .ne. 0) then
- write (*, *) 'File error!'
- stop
- end if
-
-! Input the A matrix - write it out for the user
- write (*, *) 'A Matrix:'
- call mtxrd(amtx,nsize,nsize)
- call mtxwrt(amtx,irow,nsize,nsize)
-! Input the B vector - write it out for the user
- write (*, *) ! Blank line
- write (*, *) 'B Vector:'
- call vctrd(bvct,nsize)
- call vctwrt(bvct,nsize)
-
-! *** FIND SCALE FACTORS *** !
-
- do indx = 1,nsize
- scl(indx) = abs(amtx(indx,1))
- do jndx = 2, nsize
- if (abs(amtx(indx,jndx)) > scl(indx)) then
- scl(indx) = abs(amtx(indx,jndx))
- end if
- end do
- end do
-
- write (*, *) ! Blank line
- write (*, *) 'Scale factors:'
- call vctwrt(scl,nsize)
-
-! *** BEGIN GAUSSIAN ELIMINATION (ROW REDUCTION) *** !
-
- do kndx = 1, nsize-1 ! For each column k...
-
- ! Choose the pivot element
- ipivot = kndx ! WAS ipivot = irow(kndx)
- pival = abs(amtx(irow(ipivot), kndx) / scl(irow(ipivot)))
- do lndx = kndx+1, nsize
- tmpval = abs(amtx(irow(lndx), kndx) / scl(irow(lndx)))
- if (tmpval > pival) then
- pival = tmpval
- ipivot = lndx ! WAS ipivot = irow(lndx)
- end if
- end do
-
- !write (*, *) ! Blank line
- !write (*, *) 'Swapping rows ', kndx, ' and ', ipivot, ' -- pival is ', pival
-
- ! Row swap
- itemp = irow(kndx)
- irow(kndx) = irow(ipivot)
- irow(ipivot) = itemp
-
- !call augwrt(amtx,irow,bvct,nsize)
-
- ! Row reduce
- do indx = kndx+1, nsize ! For each row i > k...
- fctr = amtx(irow(indx),kndx) / amtx(irow(kndx),kndx)
- amtx(irow(indx),kndx) = 0.0 ! We're zeroing out a(i,k)
- do jndx = kndx+1,nsize ! Scale & subtract the rest of the row
- amtx(irow(indx),jndx) = amtx(irow(indx),jndx) - fctr * amtx(irow(kndx),jndx)
- end do
- bvct(irow(indx)) = bvct(irow(indx)) - fctr * bvct(irow(kndx))
- end do
-
- !write (*, *) 'Reduction:'
- !call augwrt(amtx,irow,bvct,nsize)
-
- end do
-
-! *** END GAUSSIAN ELIMINATION (ROW REDUCTION) *** !
-
-
- write (*, *) ! Blank line
- write (*, *) 'Reduced, Augmented Matrix:'
- call augwrt(amtx,irow,bvct,nsize)
-
-! Back Substitute
- do indx = nsize, 1, -1 ! Start at lower right and work upwards
- xvct(indx) = bvct(irow(indx))
-! Subtract the previous x-values times their respective coefficients
- do jndx = indx+1, nsize
- xvct(indx) = xvct(indx) - amtx(irow(indx),jndx) * xvct(jndx)
- end do
-! Divide by the current coefficient
- xvct(indx) = xvct(indx) / amtx(irow(indx),indx)
- end do
-
- write (*, *) ! Blank line
- write (*, *) 'Solution Vector:'
- call vctwrt(xvct,nsize)
-
- stop
-
-contains
-
- subroutine mtxrd(amtx,mrow,ncol)
-
-! ABSTRACT: Subroutine to read an m x n matrix from a file
-! FORMAT: first line has the dimensions
-! each following line has a row of the matrix
-
-! Always declare ALL variables
- implicit none
- INTEGER :: irow,jcol ! row, column loop counters
- INTEGER, INTENT(OUT) :: mrow,ncol ! # rows, columns
- REAL, INTENT(OUT) :: amtx(:,:) ! matrix
-
-! Read the size of the matrix
- read (10, *) mrow,ncol
-
-! Read the matrix, one row at a time
- do irow = 1,mrow
- read (10, *) (amtx(irow,jcol),jcol=1,ncol)
- end do
-
- return
- end subroutine mtxrd
-
- subroutine mtxwrt(amtx,irow,mrow,ncol)
-
-! ABSTRACT: Subroutine to write an m x n matrix to the screen
-
-! Always declare ALL variables
- implicit none
- INTEGER :: indx,jcol ! row, column loop counters
- INTEGER, INTENT(IN) :: mrow,ncol ! # rows, columns
- INTEGER, INTENT(IN) :: irow(:) ! For row swapping
- REAL, INTENT(IN) :: amtx(:,:) ! matrix
-
-! Write the matrix, one row at a time
- do indx = 1,mrow
- write (*, '('' '',10g10.4)') (amtx(irow(indx),jcol),jcol=1,ncol)
- end do
- return
- end subroutine mtxwrt
-
- subroutine augwrt(amtx,irow,bvct,nsize)
-
-! ABSTRACT: Subroutine to write an n x n matrix with a vector augmented to it
-
-! Always declare ALL variables
- implicit none
- INTEGER :: indx,jcol ! row, column loop counters
- INTEGER, INTENT(IN) :: nsize ! # rows
- INTEGER, INTENT(IN) :: irow(:) ! For row swapping
- REAL, INTENT(IN) :: amtx(:,:) ! matrix
- REAL, INTENT(IN) :: bvct(:) ! vector
-
-! Write the matrix, one row at a time
- do indx = 1,nsize
- write (*, '('' '',10g10.4)') &
- (amtx(irow(indx),jcol),jcol=1,nsize),bvct(irow(indx))
- end do
- return
- end subroutine augwrt
-
- subroutine vctrd(vctr,nsize)
-
-! ABSTRACT: Subroutine to read a vector from a file
-! FORMAT: first line has the dimensions
-! each following line has a row of the vector
-
-! Always declare ALL variables
- implicit none
- INTEGER :: irow ! row loop counters
- INTEGER, INTENT(OUT) :: nsize ! # rows
- REAL, INTENT(OUT) :: vctr(:) ! vector
-
-! Read the size of the matrix
- read (10, *) nsize
-
-! Read the matrix, one row at a time
- do irow = 1,nsize
- read (10, *) vctr(irow)
- end do
-
- return
- end subroutine vctrd
-
- subroutine vctwrt(vctr,nsize)
-
-! ABSTRACT: Subroutine to write a vector to the screen
-
-! Always declare ALL variables
- implicit none
- INTEGER :: irow ! row loop counters
- INTEGER, INTENT(IN) :: nsize ! # rows
- REAL, INTENT(IN) :: vctr(:) ! vector
-
-! Write the matrix, one row at a time
- do irow = 1,nsize
- write (*, *) vctr(irow)
- end do
- return
- end subroutine vctwrt
-
-end program GaussianElimination
diff --git a/org.eclipse.photran-samples/src-implicits-1/.cvsignore b/org.eclipse.photran-samples/src-implicits-1/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-implicits-1/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-implicits-1/hello.f90 b/org.eclipse.photran-samples/src-implicits-1/hello.f90
deleted file mode 100644
index f5dfb76..0000000
--- a/org.eclipse.photran-samples/src-implicits-1/hello.f90
+++ /dev/null
@@ -1,22 +0,0 @@
-! This is a sample program
-
-program Hello
- integer :: i = 3 !!! a variable !!!
-
- call Sub(Fn(i) + 1)
-
- print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
-
- print *, "In the subroutine, the integer is ", x
-end subroutine Sub ! end
-
-end program
-
-integer function Fn(n) result(y)
- print *, "You sent", n, "to the function"
- y = n
-end function
diff --git a/org.eclipse.photran-samples/src-implicits-2/.cvsignore b/org.eclipse.photran-samples/src-implicits-2/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-implicits-2/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-implicits-2/fortran.f90 b/org.eclipse.photran-samples/src-implicits-2/fortran.f90
deleted file mode 100644
index 8240a04..0000000
--- a/org.eclipse.photran-samples/src-implicits-2/fortran.f90
+++ /dev/null
@@ -1,37 +0,0 @@
-program functioncalling
-
- print *, 'This is the Fortran program; I am going to call some functions now...'
- call sum(1.0,2.0,3.0)
- call factorial(3)
- print *, 'Done'
-
-contains
-
- subroutine sum(x,y,z)
-
- x = x+y+z
-
- print *, x
-
- end subroutine sum
-
- subroutine factorial(j)
-
- p=1
- i=1
- do i=1,j
- p=p*i
- end do
-
- print *, j, "! = ", p
-
- end subroutine factorial
-
- subroutine sum2(x,y)
-
- p = x+y
-
- end subroutine sum2
-
-
-end
diff --git a/org.eclipse.photran-samples/src-implicits-3/.cvsignore b/org.eclipse.photran-samples/src-implicits-3/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-implicits-3/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-implicits-3/crazyimplicits.f90 b/org.eclipse.photran-samples/src-implicits-3/crazyimplicits.f90
deleted file mode 100644
index 8a82a84..0000000
--- a/org.eclipse.photran-samples/src-implicits-3/crazyimplicits.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-program p
- a = 3
- d = 4
- stop
-contains
-subroutine s
- implicit integer (a-c,g), real (d-e), type(t) (f), complex (h)
- type t
- integer n
- end type
-
- a = 3
- b = 3
- c = 3
- d = 3.0
- e = 3.0
- f%n = 3
- g = 3
- h = (3, 4)
-end subroutine
-end program
diff --git a/org.eclipse.photran-samples/src-includes/.cvsignore b/org.eclipse.photran-samples/src-includes/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-includes/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-includes/inc.h b/org.eclipse.photran-samples/src-includes/inc.h
deleted file mode 100644
index 32cff95..0000000
--- a/org.eclipse.photran-samples/src-includes/inc.h
+++ /dev/null
@@ -1 +0,0 @@
- integer :: i
diff --git a/org.eclipse.photran-samples/src-includes/innocuous.f90 b/org.eclipse.photran-samples/src-includes/innocuous.f90
deleted file mode 100644
index a6a9baf..0000000
--- a/org.eclipse.photran-samples/src-includes/innocuous.f90
+++ /dev/null
@@ -1 +0,0 @@
-end
diff --git a/org.eclipse.photran-samples/src-includes/main.doesnotcompile b/org.eclipse.photran-samples/src-includes/main.doesnotcompile
deleted file mode 100644
index fcc082c..0000000
--- a/org.eclipse.photran-samples/src-includes/main.doesnotcompile
+++ /dev/null
@@ -1,6 +0,0 @@
-! Compilers have all sorts of trouble with this...
-! gfortran segfaulted, and ifort does not allow it
-program p
- include "inc.h"
- print i
-end program p
diff --git a/org.eclipse.photran-samples/src-interfaces/.cvsignore b/org.eclipse.photran-samples/src-interfaces/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-interfaces/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-interfaces/gfortran_compile_error.txt b/org.eclipse.photran-samples/src-interfaces/gfortran_compile_error.txt
deleted file mode 100644
index 6bed12b..0000000
--- a/org.eclipse.photran-samples/src-interfaces/gfortran_compile_error.txt
+++ /dev/null
@@ -1,59 +0,0 @@
-!!
-!! Examples of using INTERFACE blocks in Fortran
-!!
-!! INTERFACE blocks have two different uses:
-!!
-!! 1. Declaring the interface of an external subprogram
-!! (as an alternative to the EXTERNAL statement, which
-!! declares that the subprogram is external but says nothing
-!! about its signature)
-!!
-!! 2. Overloading
-!!
-!! J. Overbey 9/15/08
-!!
-module interface_example
- implicit none
-
- !! USAGE 1: Declaring the interface of an external subprogram
- interface
- integer function one()
- end function
-
- integer function two()
- end function
- end interface
-
- ! Note that one and two are exported and can be made private
- private :: two
-
- !! USAGE 2: Overloading
- interface description
- character(len=*) function description_int(value)
- integer, intent(in) :: value
- end function description_int
- module procedure description_real
- end interface
-
-contains
- character(len=50) function description_real(value)
- real, intent(in) :: value
- write (description_real, *) "REAL:", value
- end function
-end module interface_example
-
-program program
- use interface_example
- integer :: one, two = 2 ! Note that "two" is hidden in the module
- print *, one()
- print *, description(2)
- print *, description(3.0)
-end program program
-
-!! EXTERNAL SUBPROGRAMS
-integer function one(); one = 1; end function
-integer function two(); two = 2; end function
-character(len=50) function description_int(value)
- integer, intent(in) :: value
- write (description_real, *) "INTEGER:", value
-end function
diff --git a/org.eclipse.photran-samples/src-interfaces/interfaces.f90 b/org.eclipse.photran-samples/src-interfaces/interfaces.f90
deleted file mode 100644
index 5cac592..0000000
--- a/org.eclipse.photran-samples/src-interfaces/interfaces.f90
+++ /dev/null
@@ -1,85 +0,0 @@
-!!
-!! Examples of using INTERFACE blocks in Fortran
-!!
-!! INTERFACE blocks have two different uses:
-!!
-!! 1. Declaring the interface of an external subprogram
-!! (as an alternative to the EXTERNAL statement, which
-!! declares that the subprogram is external but says nothing
-!! about its signature)
-!!
-!! 2. Overloading
-!!
-!! J. Overbey 9/15/08
-!!
-module interface_example
- implicit none
-
- ! USAGE 1: Declaring the interface of an external subprogram
-
- ! This declares two functions in the module, named "one" and "two"
- ! They will be resolved to the corresponding external functions at link time
- interface
- integer function one()
- end function
-
- integer function two()
- end function
- end interface
-
- ! Since "one" and "two" are in the module, they can be made private; we'll
- ! hide "two" from the outside world
- private :: two
-
- ! USAGE 2: Overloading
-
- ! This declares a function named "description" which can be called with
- ! either an integer or real parameter;
- ! description(1)
- ! will actually invoke description_int(1), while
- ! description(2.0)
- ! will actually invoke description_real(2.0)
- interface description
- ! This overload is an external function; we'll use the same syntax as
- ! above, simply declaring its interface
- character(len=50) function description_int(value)
- integer, intent(in) :: value
- end function description_int
-
- ! This overload is a procedure in the module, so we can use a
- ! MODULE PROCEDURE statement since we already know its interface
- module procedure description_real
- end interface
-
- ! INTERFACE blocks can also be used for operator overloading, but I won't
- ! demonstrate that here
-
-contains
- character(len=50) function description_real(value)
- real, intent(in) :: value
- write (description_real, *) "REAL:", value
- end function
-end module interface_example
-
-program program
- use interface_example, only: one, description
- implicit none
- integer :: two = 2 ! Note that "two" is hidden in the module,
- ! so we can declare a "two" variable here
-
- ! Call the function declared in the INTERFACE block
- print *, one()
-
- ! Call the overloaded "description" function
- print *, description(two)
- print *, description(3.0)
-end program program
-
-!! EXTERNAL SUBPROGRAMS
-integer function one(); one = 1; end function
-integer function two(); two = 2; end function
-character(len=50) function description_int(value)
- implicit none
- integer, intent(in) :: value
- write (description_int, *) "INTEGER:", value
-end function
diff --git a/org.eclipse.photran-samples/src-language-features/.cvsignore b/org.eclipse.photran-samples/src-language-features/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-language-features/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-language-features/almost-exhaustive.f90 b/org.eclipse.photran-samples/src-language-features/almost-exhaustive.f90
deleted file mode 100644
index 2154980..0000000
--- a/org.eclipse.photran-samples/src-language-features/almost-exhaustive.f90
+++ /dev/null
@@ -1,47 +0,0 @@
-program Main
- integer, parameter :: k6=selected_int_kind(6) ! Kind for range [-999999,999999]
- integer, parameter :: n1 = -123456_k6
- integer, parameter :: n2 = -123456_4
- integer, parameter :: long = selected_real_kind(9, 99) ! 9 sig decimals, exponent
- ! range 10^-99 to 10^99
- integer, parameter :: asci = kind('ASCII')
- integer(kind=long) :: a
- character(len=20, kind=1) :: english_word
- character(20) :: length_twenty
-
- type person
- character(10) :: name
- real :: age
- integer :: id
- end type
- type(person) :: me = person('Jeff', 23, 12345)
- type(person) :: you
-
- real, dimension(10) :: array1thru10
- real, dimension(-10,5) :: arrayneg10thru5
- real, dimension(-10:5, -20:-1, 2) :: threedarray
- real, dimension(5) :: arrayconst = (/ 1, 2, 3, 4, 5 /)
-
- character(len=10) :: ten = "1234567890"
-
- real, pointer :: realptr => null()
-
- you%name = 'Bob'
- you%age = 17.25
- you%id = 18
-
- print *, "Kinds:", kind(k6), kind(n1), kind(n2), kind(1.0)
- print *, "Precision:", precision(1.0_long) ! will be at least 9
- print *, "Num decimal digits supported:", range(2_k6)
- print *, "Num decimal digits supported:", range(1.0_long) ! will be at least 99
- !ERROR!print *, "Bin/octal/hex:", b'01100110', o'076543', z'10fa'
- print *, "Real literal constant:", -10.6e-11, 1., -0.1, 1e-1, 3.141592653
- print *, "Complex:", (1., 3.2), (1, .99e-2), (1.0, 3.7_8)
- print *, 'He said "Hello"', "This contains an '", 'Isn''t it a nice day'
- print *, 'This is a long string &
- & which spans several lines &
- & unnecessarily.'
- !ERROR!print *, asci_"String"
- print *, .false._1, .true._long
- print *, ten(:5), ten(6:), ten(3:7), ten(:), you%name(1:2), 'Hello'(:2)
-end program
diff --git a/org.eclipse.photran-samples/src-liebmann-1-eoshift/.cvsignore b/org.eclipse.photran-samples/src-liebmann-1-eoshift/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-liebmann-1-eoshift/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-liebmann-1-eoshift/liebmann.f90 b/org.eclipse.photran-samples/src-liebmann-1-eoshift/liebmann.f90
deleted file mode 100644
index f603aca..0000000
--- a/org.eclipse.photran-samples/src-liebmann-1-eoshift/liebmann.f90
+++ /dev/null
@@ -1,50 +0,0 @@
-!!
-!! Liebmann's method to compute heat transfer across a 2-D surface
-!! J. Overbey 8/27/08
-!!
-!! Use liebmann-viz.sh in the main project directory to visualize the resulting
-!! table using gnuplot
-!!
-!! This version looks the nicest and uses the eoshift intrinsic
-!!
-program liebmann_example
- implicit none
-
- integer, parameter :: SIZE = 200
- integer, parameter :: INTERIOR_SIZE = SIZE - 2
- real, parameter :: BOUNDARY_VALUE = 5.0
- real, parameter :: EPSILON = 0.001
-
- call main()
-
-contains
-
-subroutine main()
- integer :: i
- real :: surface(INTERIOR_SIZE, INTERIOR_SIZE)
-
- surface = 0.0
- surface = iterate(surface)
-
- print *, (BOUNDARY_VALUE, i=1,SIZE)
- do i = 1, INTERIOR_SIZE; print *, BOUNDARY_VALUE, surface(i, :), BOUNDARY_VALUE; end do
- print *, (BOUNDARY_VALUE, i=1,SIZE)
-end subroutine
-
-function iterate(initial) result(result)
- intent(in) :: initial
- real, dimension(INTERIOR_SIZE, INTERIOR_SIZE) :: initial, previous, up, down, left, right, result
-
- result = initial
- do
- previous = result
- up = eoshift(previous, +1, boundary_value, 1)
- down = eoshift(previous, -1, boundary_value, 1)
- left = eoshift(previous, +1, boundary_value, 2)
- right = eoshift(previous, -1, boundary_value, 2)
- result = (up + down + left + right) / 4.0
- if (maxval(abs(result - previous)) .lt. EPSILON) exit
- end do
-end function
-
-end program
diff --git a/org.eclipse.photran-samples/src-liebmann-2-arrays/.cvsignore b/org.eclipse.photran-samples/src-liebmann-2-arrays/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-liebmann-2-arrays/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-liebmann-2-arrays/liebmann.f90 b/org.eclipse.photran-samples/src-liebmann-2-arrays/liebmann.f90
deleted file mode 100644
index 1ddab15..0000000
--- a/org.eclipse.photran-samples/src-liebmann-2-arrays/liebmann.f90
+++ /dev/null
@@ -1,77 +0,0 @@
-!!
-!! Liebmann's method to compute heat transfer across a 2-D surface
-!! J. Overbey 8/27/08
-!!
-!! Use liebmann-viz.sh in the main project directory to visualize the resulting
-!! table using gnuplot
-!!
-!! This version uses array sections to compute each iteration and the delta
-!!
-program liebmann_example
- implicit none
-
- integer, parameter :: SIZE = 200
- integer, parameter :: INTERIOR_SIZE = SIZE - 2
- real, parameter :: BOUNDARY_VALUE = 5.0
- real, parameter :: EPSILON = 0.001
-
- call main()
-
-contains
-
-subroutine main()
- real :: surface(SIZE, SIZE)
- integer :: i
-
- call liebmann(surface)
-
- do i = 1, SIZE; print *, surface(i, :); end do
-end subroutine
-
-subroutine liebmann(surface)
- real, intent(out) :: surface(SIZE, SIZE)
- real, dimension(SIZE, SIZE) :: prev, next
- real :: delta
-
- call init_with_boundaries(prev)
- call init_with_boundaries(next)
-
- do
- delta = iterate(prev, next)
- if (delta < EPSILON) then
- surface = next
- return
- end if
-
- delta = iterate(next, prev)
- if (delta < EPSILON) then
- surface = prev
- return
- end if
- end do
-end subroutine
-
-subroutine init_with_boundaries(surface)
- real, dimension(SIZE, SIZE), intent(in out) :: surface
-
- surface = 0.0
- surface(1, :) = BOUNDARY_VALUE
- surface(SIZE, :) = BOUNDARY_VALUE
- surface(:, 1) = BOUNDARY_VALUE
- surface(:, SIZE) = BOUNDARY_VALUE
-end subroutine
-
-function iterate(prev, next) result(epsilon)
- real, dimension(SIZE, SIZE), intent(in) :: prev
- real, dimension(SIZE, SIZE), intent(in out) :: next
- real :: epsilon
-
- next(2:SIZE-1, 2:SIZE-1) = &
- (prev(1:SIZE-2, 2:SIZE-1) + &
- prev(3:SIZE, 2:SIZE-1) + &
- prev(2:SIZE-1, 1:SIZE-2) + &
- prev(2:SIZE-1, 3:SIZE )) / 4.0
- epsilon = maxval(abs(next(2:SIZE-1,2:SIZE-1) - prev(2:SIZE-1,2:SIZE-1)))
-end function
-
-end program
diff --git a/org.eclipse.photran-samples/src-liebmann-3-loops/.cvsignore b/org.eclipse.photran-samples/src-liebmann-3-loops/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-liebmann-3-loops/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-liebmann-3-loops/liebmann.f90 b/org.eclipse.photran-samples/src-liebmann-3-loops/liebmann.f90
deleted file mode 100644
index 8b41de9..0000000
--- a/org.eclipse.photran-samples/src-liebmann-3-loops/liebmann.f90
+++ /dev/null
@@ -1,84 +0,0 @@
-!!
-!! Liebmann's method to compute heat transfer across a 2-D surface
-!! J. Overbey 8/27/08
-!!
-!! Use liebmann-viz.sh in the main project directory to visualize the resulting
-!! table using gnuplot
-!!
-!! This version uses explicit loops through the array elements
-!!
-program liebmann_example
- implicit none
-
- integer, parameter :: SIZE = 200
- integer, parameter :: INTERIOR_SIZE = SIZE - 2
- real, parameter :: BOUNDARY_VALUE = 5.0
- real, parameter :: EPSILON = 0.001
-
- call main()
-
-contains
-
-subroutine main()
- real :: surface(SIZE, SIZE)
- integer :: i
-
- call liebmann(surface)
-
- do i = 1, SIZE; print *, surface(i, :); end do
-end subroutine
-
-subroutine liebmann(surface)
- real, dimension(SIZE, SIZE), intent(out) :: surface
- real, dimension(SIZE, SIZE) :: prev, next
- real :: delta
-
- call init_with_boundaries(prev)
- call init_with_boundaries(next)
-
- do
- delta = iterate(prev, next)
- if (delta < EPSILON) then
- surface = next
- return
- end if
-
- delta = iterate(next, prev)
- if (delta < EPSILON) then
- surface = prev
- return
- end if
- end do
-end subroutine
-
-subroutine init_with_boundaries(surface)
- real, dimension(SIZE, SIZE), intent(out) :: surface
-
- surface = 0.0
- surface(1, :) = BOUNDARY_VALUE
- surface(SIZE, :) = BOUNDARY_VALUE
- surface(:, 1) = BOUNDARY_VALUE
- surface(:, SIZE) = BOUNDARY_VALUE
-end subroutine
-
-function iterate(prev, next) result(delta)
- real, dimension(SIZE, SIZE), intent(in) :: prev
- real, dimension(SIZE, SIZE), intent(out) :: next
- real :: delta
-
- integer :: i, j
-
- delta = 0.0
- do j = 2, SIZE-1
- do i = 2, SIZE-1
- next(i,j) = &
- (prev(i-1, j) + &
- prev(i+1, j) + &
- prev(i, j-1) + &
- prev(i, j+1)) / 4.0
- delta = max(delta, abs(next(i,j)-prev(i,j)))
- end do
- end do
-end function
-
-end program
diff --git a/org.eclipse.photran-samples/src-line-fitting/.cvsignore b/org.eclipse.photran-samples/src-line-fitting/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-line-fitting/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-line-fitting/bstfit.f90 b/org.eclipse.photran-samples/src-line-fitting/bstfit.f90
deleted file mode 100755
index 3647396..0000000
--- a/org.eclipse.photran-samples/src-line-fitting/bstfit.f90
+++ /dev/null
@@ -1,863 +0,0 @@
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!
-! BstFit
-!
-! This program provides the user with three options:
-! (1) Compute least-squares lines using vertical, horizontal, and
-! perpendicular distances
-! (2) Show the distances between points and a given line
-! (3) Compute linear, exponential, and power least-squares curves
-!
-! Points are read from an ASCII text file, where each line contains a x-value
-! followed by a space and a y-value. Values are expected to be real numbers.
-! The number of points is not specified; the program reads data from each line
-! until the end of the file (or 1,000 points, whichever comes first).
-!
-! Output is displayed to the screen.
-!
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-module Mdataset
-
- ! Declare all variables
- implicit none
-
- ! Declare a Tdataset type to hold data points, count, sums, etc.
- type :: Tdataset
- real :: datapt(4,1000) ! (x,y) data points from input file
- ! stored as (x, y, ln x, ln y)
- integer :: npts ! Number of points in input file
- real :: valsum(4) ! Sums of values of
- ! x, y, ln x, and ln y
- real :: sqsum(4) ! Sums of values of x**2, y**2,
- ! (ln x)**2, and (ln y)**2
- real :: xysum(3) ! Sums of products
- ! (xy, x ln y, ln x ln y)
- logical :: has_np(2) ! Are any x- or y-values nonpositive?
- end type Tdataset
-
-end module Mdataset
-
-program BstFitProj
-
- use Mdataset
-
- ! Declare all variables
- implicit none
-
- ! Type Name(s) Description
- integer :: if
- integer :: ichoice ! The user's choice from the menu
- type(Tdataset) :: ds ! Points and computed values
- real :: aval, bval ! Values of a and b (in y=ax+b)
- real :: slopem, intrcpt ! Slope and y-intercept of a line
- ! supplied by the user
- real :: ssvd, sshd, sspd ! Sum of squares of horiz, vert, and
- ! perpendicular distances
- logical :: suces ! Exponential or power fit success?
- integer :: outu ! Output file unit number
-
- ! Introduce the program
- write (*, *) 'This program performs least-squares fitting on ', &
- 'a set of n (x,y) pairs'
- write (*, *) ! Blank line
-
- ! Ask the user for the input file, and read the data from it
- call LoadDataSet(ds)
- write (*, *) ! Blank line
-
- ! Show the list of points
- write (*, *) 'Data points are:'
- call ShowDataPoints(ds)
- write (*, *) ! Blank line
-
- ! Ask the user for the name of the output file, and open it
- outu = OpenOutput()
- write (*, *) ! Blank line
-
- ! The user hasn't chosen anything from the menu yet
- ichoice = 0
-
- ! Let the user continue choosing from the menu until s/he chooses to exit
- do while (ichoice .ne. 4)
-
- ! Display a list of options, and allow the user to select one
- write (*, *) ! Blank line
- write (*, *) '===================================================='
- write (*, *) 'MENU'
- write (*, *) '===================================================='
- write (*, *) '1. Compute three linear least squares lines'
- write (*, *) '2. Compute distances between points and a given line'
- write (*, *) '3. Find linear, exponential, and power least squares'
- write (*, *) '4. Exit'
- write (*, *) '===================================================='
- write (*, *) ! Blank line
- write (*, *) 'Choose an option: '
- read (*, *) ichoice
-
- if (if .eq. 5) then
- print *, 'Why did you name a variable "if" anyway?'
- end if
-
- select case (ichoice)
- case (1) ! Option 1 - Three linear least squares lines
-
- write (outu, *) 'THREE LEAST SQUARES LINES:'
-
- ! Linear least squares, vertical distances
- call LinearLeastSquares(ds, 1, 2, aval, bval)
- write (outu, *) ! Blank line
- write (outu, *) 'Using vertical distances:'
- write (outu, *) 'y = ', trim(real2str(aval)), &
- 'x + ', trim(real2str(bval))
-
- ! Linear least squares, horizontal distances
- call LinearLeastSquares(ds, 2, 1, aval, bval)
- write (outu, *) ! Blank line
- write (outu, *) 'Using horizontal distances:'
- write (outu, *) 'y = ', trim(real2str(aval)), &
- 'x + ', trim(real2str(bval))
-
- ! Linear least squares, perpendicular distances
- call PerpLeastSquares(ds, 0, aval, bval)
- write (outu, *) ! Blank line
- write (outu, *) 'Using perpendicular distances:'
- write (outu, *) 'y = ', trim(real2str(aval)), &
- 'x + ', trim(real2str(bval))
-
- write (outu, *) '--OR--'
-
- call PerpLeastSquares(ds, 1, aval, bval)
- write (outu, *) 'y = ', trim(real2str(aval)), &
- 'x + ', trim(real2str(bval))
-
- write (outu, *) ! Blank line
-
- case (2) ! Option 2 - Distances between points and a given line
-
- write (outu, *) 'SUM OF SQUARES OF DISTANCES BETWEEN ', &
- 'POINTS AND A GIVEN LINE:'
-
- write (*, *) ! Blank line
- write (*, *) 'Enter the line''s slope and y-intercept: '
- read (*, *) slopem, intrcpt
-
- write (outu, *) ! Blank line
- write (outu, *) 'Using f(x) = ', trim(real2str(slopem)), &
- 'x + ', trim(real2str(intrcpt))
-
- write (outu, *) ! Blank line
- call SquareDistances(ds, slopem, intrcpt, ssvd, sshd, sspd)
-
- write (outu, *) 'Sum of squares of vertical distances: ', &
- ssvd
- write (outu, *) ! Blank line
- write (outu, *) 'Sum of squares of horizontal distances: ', &
- sshd
- write (outu, *) ! Blank line
- write (outu, *) 'Sum of squares of perpendicular distances: ', &
- sspd
- write (outu, *) ! Blank line
-
- case (3) ! Option 3 - Linear, exponential, and power least squares
-
- write (outu, *) 'LINEAR, EXPONENTIAL, AND POWER LEAST SQUARES:'
-
- call LinearLeastSquares(ds, 1, 2, aval, bval)
- write (outu, *) ! Blank line
- write (outu, *) 'Linear fit: y = ', trim(real2str(aval)), &
- 'x + ', trim(real2str(bval))
-
- call ExpLeastSquares(ds, aval, bval, suces)
- write (outu, *) ! Blank line
- if (suces .eqv. .true.) then
- write (outu, *) 'Exponential fit: y = ', trim(real2str(bval)), &
- ' * e^(', trim(real2str(aval)), 'x)'
- else
- write (outu, *) 'Unable to perform exponential fit: ', &
- 'there is at least one nonpositive y-value'
- end if
-
- call PowerLeastSquares(ds, aval, bval, suces)
- write (outu, *) ! Blank line
- if (suces .eqv. .true.) then
- write (outu, *) 'Power fit: y = ', trim(real2str(bval)), &
- ' * x^', trim(real2str(aval))
- else
- write (outu, *) 'Unable to perform power fit: ', &
- 'there is at least one nonpositive x- or y-value'
- end if
-
- write (outu, *) ! Blank line
-
- case (4) ! Option 4 - Exit
- ! Allow loop to stop
-
- case default
- write (*, *) 'The option you chose is not valid.'
- end select
-
- end do
-
- stop
-
-contains
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !
- ! LoadDataSet - Ask the user for an input filename, and read data points from
- ! that file into the ds%datapt array, storing the number
- ! of points in ds%npts and computing sums
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- subroutine LoadDataSet(ds)
-
- ! Declare all variables
- implicit none
- ! Type Name(s) Description
- type(Tdataset), intent(out) :: ds ! Data points and sums
- character (len=64) :: infile ! Input filename
- integer :: ieof ! File status
- integer :: indx ! Loop counter
- integer :: inu ! Input file unit number
- integer :: imaxpairs ! Maximum number of pairs
-
- ! Default maximum number of pairs to array size
- imaxpairs = ubound(ds%datapt,2)
-
- ! Ask the user for the name of the input file
- write (*, *) 'Enter the input filename or - for keyboard input: '
- read (*, *) infile
-
- ! Determine the input unit number
- if (infile .eq. '-') then
-
- inu = 5 ! Read from keyboard (standard input)
-
- write (*, *) 'How many pairs? '
- read (*, *) imaxpairs
-
- ! Make sure this number is legal
- if (imaxpairs .lt. 1 .or. imaxpairs .gt. ubound(ds%datapt,2)) then
- write (*, *) 'Number of pairs must be between 1 and ', &
- trim(int2str(ubound(ds%datapt,2)))
- stop
- end if
-
- write (*, *) 'Enter pairs, one per line'
- write (*, *) ! End line before input
-
- else
-
- inu = 10 ! Read from file
-
- ! Open the file
- open (10, file = infile, status = 'old', iostat = ieof)
- if (ieof .ne. 0) then
- write (*, *) 'The specified file could not be opened.'
- stop
- end if
-
- end if
-
- ! Initialize the members of the dataset structure
- ds%npts = 0
- ds%valsum(1) = 0.0
- ds%valsum(2) = 0.0
- ds%valsum(3) = 0.0
- ds%valsum(4) = 0.0
- ds%sqsum(1) = 0.0
- ds%sqsum(2) = 0.0
- ds%sqsum(3) = 0.0
- ds%sqsum(4) = 0.0
- ds%xysum(1) = 0.0
- ds%xysum(2) = 0.0
- ds%xysum(3) = 0.0
- ds%has_np(1) = .false.
- ds%has_np(2) = .false.
-
- ! Read data points until EOF or imaxpairs reached
- do while (ds%npts < imaxpairs)
-
- ! Load the points into the datapt array,
- read (inu, *, end = 110) &
- ds%datapt(1, ds%npts + 1), &
- ds%datapt(2, ds%npts + 1)
-
- ! Calculate ln x, or set has_np if the value is nonpositive
- if (ds%datapt(1, ds%npts + 1) .le. 0) then
- ds%datapt(3, ds%npts + 1) = 0
- ds%has_np(1) = .true.
- else
- ds%datapt(3, ds%npts + 1) = log(ds%datapt(1, ds%npts + 1))
- end if
-
- ! Calculate ln y, or set has_np if the value is nonpositive
- if (ds%datapt(2, ds%npts + 1) .le. 0) then
- ds%datapt(4, ds%npts + 1) = 0
- ds%has_np(2) = .true.
- else
- ds%datapt(4, ds%npts + 1) = log(ds%datapt(2, ds%npts + 1))
- end if
-
- ! Update the number of points
- ds%npts = ds%npts + 1
-
- ! Update the value sums and square sums
- do indx = 1,4
- ds%valsum(indx) = ds%valsum(indx) + ds%datapt(indx, ds%npts)
- ds%sqsum(indx) = ds%sqsum(indx) + ds%datapt(indx, ds%npts)**2
- end do
-
- ! Update the xy sums (xy, x ln y, ln x ln y)
- ds%xysum(1) = ds%xysum(1) + &
- ds%datapt(1, ds%npts) * ds%datapt(2, ds%npts)
- ds%xysum(2) = ds%xysum(2) + &
- ds%datapt(1, ds%npts) * ds%datapt(4, ds%npts)
- ds%xysum(3) = ds%xysum(3) + &
- ds%datapt(3, ds%npts) * ds%datapt(4, ds%npts)
-
- end do
-
- ! If we get here and we're reading from a file, there are more than
- ! ubound(ds%datapt,2) points in the file, so display a warning
- if (inu .eq. 10) then
- write (*, *) 'WARNING: Only the first ', &
- trim(int2str(ubound(ds%datapt,2))), ' points will be used'
- end if
-
- ! We have read all points from the file; close it
-110 if (inu .eq. 10) then
- close (10)
- end if
-
- return
-
- end subroutine LoadDataSet
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !
- ! ShowDataPoints - Display the list of data points
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- subroutine ShowDataPoints(ds)
-
- ! Declare all variables
- implicit none
- ! Type Name(s) Description
- type(Tdataset), intent(in) :: ds ! Data points and sums
- integer :: indx ! Loop counter
-
- ! Display a header
- write (*, '(a5,a2,2a10)') '=====', '==', '==========', &
- '=========='
- write (*, '(a5,2x,2a10)') 'i', 'x_i', 'y_i'
- write (*, '(a5,a2,2a10)') '=====', '==', '==========', &
- '=========='
-
- ! Display the list of points
- do indx = 1,ds%npts
- write (*, '(i5,a,2f10.4)') &
- indx, ': ', ds%datapt(1,indx), ds%datapt(2,indx)
- end do
-
- ! Display a footer
- write (*, '(a5,a2,2a10)') '=====', '==', '==========', &
- '=========='
-
- return
-
- end subroutine ShowDataPoints
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !
- ! SquareDistances - Calculate the sums of squares of distances of a set of
- ! points from a given line f(x) = mx + b
- !
- ! finv denotes the inverse of the function f
- !
- ! Sum of squares of vertical distances is returned in ssvd
- ! Sum of squares of horizontal distances is returned in sshd
- ! Sum of squares of perpendicular distances is returned in sspd
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- subroutine SquareDistances(ds, slopem, intrcpt, ssvd, sshd, sspd)
-
- ! Declare all variables
- implicit none
- ! Type Name(s) Description
- type(Tdataset), intent(in) :: ds ! Data points and sums
- real, intent(in) :: slopem ! Slope of the line
- real, intent(in) :: intrcpt ! Line's y-intercept
- real :: fx ! f(x) at a given x
- real :: finvy ! finv(y) at a given y
- real :: perpx ! x-coord where a perpendicular
- ! line through (x_i,y_i)
- ! intersects
- real :: perpy ! y-coord of intersection
- real :: vdist, hdist, pdist ! Distances of a particular point
- real, intent(out) :: ssvd ! Sum of squares of vert dist's
- real, intent(out) :: sshd ! Sum of squares of horiz dist's
- real, intent(out) :: sspd ! Sum of squares of perp dist's
- integer :: indx ! Loop counter
-
- ! Initialize sums to 0.0
- ssvd = 0.0
- sshd = 0.0
- sspd = 0.0
-
- ! Add the squares of the distances
- do indx = 1,ds%npts
- ! Calculate f(x_i) = m x_i + b
- fx = slopem * ds%datapt(1,indx) + intrcpt
-
- ! Calculate finv(y_i) = (y_i - b) / m
- finvy = (ds%datapt(2,indx) - intrcpt) / slopem
-
- ! Vertical distance = |f(x_i) - y_i|
- vdist = abs(fx - ds%datapt(2,indx))
-
- ! Horizontal distance = |finv(y_i) - x_i|
- hdist = abs(finvy - ds%datapt(1,indx))
-
- ! Perpendicular distance is more complicated
-
- ! The perpendicular line through (x_i, y_i) will intersect
- ! at x-coordinate (y_i + x_i/m - b)/(m + 1/m)
- ! and y-coordinate f(perpx)
- perpx = (ds%datapt(2,indx) + ds%datapt(1,indx)/slopem - intrcpt) &
- / (slopem + 1.0/slopem)
- perpy = slopem * perpx + intrcpt
-
- ! Perpendicular distance is now given by the distance formula
- ! ________________________________
- ! / 2 2
- ! \/ (y_i - perpy) + (x_i - perpx)
- !
- pdist = sqrt((ds%datapt(2,indx) - perpy)**2 + (ds%datapt(1,indx) - perpx)**2)
-
- ! Now add these distances squared to the sums
- ssvd = ssvd + vdist**2
- sshd = sshd + hdist**2
- sspd = sspd + pdist**2
- end do
-
- return
-
- end subroutine SquareDistances
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !
- ! OpenOutput - Open an output file and return the unit number
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- integer function OpenOutput() result(outu)
-
- ! Declare all variables
- implicit none
- ! Type Name(s) Description
- character (len=64) :: outfile ! Output filename
- integer :: ieof ! File status
-
- ! Ask the user for the name of the output file
- write (*, *) 'Enter the output filename or - for screen display: '
- read (*, *) outfile
-
- if (outfile .eq. '-') then
- outu = 6 ! Standard output
- else
-
- ! Open the file
- open (10, file = outfile, status = 'replace', iostat = ieof)
- if (ieof .ne. 0) then
- write (*, *) 'The specified file could not be opened.'
- stop
- end if
-
- outu = 10 ! File output
- end if
-
- return
-
- end function OpenOutput
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !
- ! LinearLeastSquares - Compute a linear least squares line y = ax + b
- ! using vertical or horizontal distances
- !
- ! For vertical distances, set xcol = 1 and ycol = 2
- ! For horizontal distances, set xcol = 2 and ycol = 1
- ! Other values of xcol and ycol are used by the power and exponential
- ! least squares functions (see below)
- ! Values of a and b will be stored in aval and bval
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- subroutine LinearLeastSquares(ds, xcol, ycol, aval, bval)
-
- ! Declare all variables
- implicit none
- ! Type Name(s) Description
- type(Tdataset), intent(in) :: ds ! Data points and sums
- integer, intent(in) :: xcol ! Which column contains x-values
- ! (independent data)?
- integer, intent(in) :: ycol ! Which column contains y-values
- ! (dependent data)?
- integer :: xycol ! Which xyval to use?
- real, intent(out) :: aval ! Value of a
- real, intent(out) :: bval ! Value of b
- real :: dval ! Value of delta (denominator)
-
- ! Determine which xyval to use (xy, x ln y, or ln x ln y)
- if (xcol .eq. 1 .and. ycol .eq. 2 .or. xcol .eq. 2 .and. ycol .eq. 1) then
- xycol = 1
- else if (xcol .eq. 1 .and. ycol .eq. 4 .or. xcol .eq. 4 .and. ycol .eq. 1) then
- xycol = 2
- else if (xcol .eq. 3 .and. ycol .eq. 4 .or. xcol .eq. 4 .and. ycol .eq. 3) then
- xycol = 3
- else
- write (*, *) 'ERROR: Invalid call to LinearLeastSquares'
- write (*, *) 'Unable to continue'
- stop
- end if
-
- ! Compute the denominator:
- !
- ! n n 2
- ! ___ 2 ( ___ )
- ! delta = n \ x - ( \ x )
- ! /__ i ( /__ i )
- ! ( )
- ! i=1 i=1
-
- dval = ds%npts * ds%sqsum(xcol) - ds%valsum(xcol)**2
-
- ! Compute a:
- !
- ! n n n
- ! ___ ___ ___
- ! n \ x y - \ x \ y
- ! /__ i i /__ i /__ i
- !
- ! i=1 i=1 i=1
- ! a = ----------------------------------
- ! delta
-
- aval = ( ds%npts * ds%xysum(xycol) - &
- ds%valsum(xcol) * ds%valsum(ycol) ) &
- / dval
-
-
- ! Compute b:
- !
- ! n n n n
- ! ___ ___ 2 ___ ___
- ! \ y \ x - \ x \ x y
- ! /__ i /__ i /__ i /__ i i
- !
- ! i=1 i=1 i=1 i=1
- ! b = ------------------------------------------
- ! delta
-
- bval = ( ds%valsum(ycol) * ds%sqsum(xcol) - &
- ds%valsum(xcol) * ds%xysum(xycol) ) &
- / dval
-
- ! If we are calculating using horizontal distances, we need to
- ! solve x=ay+b for y (y = 1/a * x - b/a) and change a and b
- ! accordingly
- if (xcol .gt. ycol) then
- aval = 1.0 / aval
- bval = -bval * aval
- end if
-
- return
-
- end subroutine LinearLeastSquares
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !
- ! PerpLeastSquares - Compute a linear least squares line y = ax + b
- ! using perpendicular distances
- !
- ! To use a = -p + sqrt(...), set subtr to an even value
- ! To use a = -p - sqrt(...), set subtr to an odd value
- ! Values of a and b will be stored in aval and bval
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- subroutine PerpLeastSquares(ds, subtr, aval, bval)
-
- ! Declare all variables
- implicit none
- ! Type Name(s) Description
- type(Tdataset), intent(in) :: ds ! Data points and sums
- integer, intent(in) :: subtr ! Determines which of two values
- ! of a will be chosen
- real, intent(out) :: aval ! Value of a
- real, intent(out) :: bval ! Value of b
- real :: pval ! Value of p
-
- ! Compute p:
- !
- ! ( n n ) [ ( n ) 2 ( n ) 2 ]
- ! ( ___ 2 ___ 2 ) [ ( ___ ) ( ___ ) ]
- ! n ( \ x - \ y ) - [ ( \ x ) - ( \ y ) ]
- ! ( /__ k /__ k ) [ ( /__ k ) ( /__ k ) ]
- ! ( ) [ ( ) ( ) ]
- ! ( k=1 k=1 ) [ k=1 k=1 ]
- ! p = ----------------------------------------------------------------------
- ! ( n n n )
- ! ( ___ ___ ___ )
- ! 2 ( n \ x y - \ x \ y )
- ! ( /__ k k /__ k /__ k )
- ! ( )
- ! ( k=1 k=1 k=1 )
-
- pval = (ds%npts*(ds%sqsum(1)-ds%sqsum(2)) - (ds%valsum(1)**2 - ds%valsum(2)**2)) &
- / (2 * (ds%npts*ds%xysum(1) - ds%valsum(1)*ds%valsum(2)))
-
- ! _______
- ! / 2
- ! Compute a = -p +/- / p + 1
- ! \/
-
- aval = -pval + (-1)**subtr * sqrt(pval**2 + 1)
-
- ! n n
- ! ___ ___
- ! \ y - a \ x
- ! /__ k /__ k
- !
- ! k=1 k=1
- ! Compute b = ---------------------
- ! n
-
- bval = ( ds%valsum(2) - aval * ds%valsum(1) ) / ds%npts
-
- return
-
- end subroutine PerpLeastSquares
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- ! ax
- ! ExpLeastSquares - Compute an exponential least squares curve y = b e
- ! using vertical distances
- !
- ! Values of a and b will be stored in aval and bval
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- subroutine ExpLeastSquares(ds, aval, bval, suces)
-
- ! Declare all variables
- implicit none
- ! Type Name(s) Description
- type(Tdataset), intent(in) :: ds ! Data points and sums
- real, intent(out) :: aval ! Value of a
- real, intent(out) :: bval ! Value of b
- logical, intent(out) :: suces ! Success?
-
- ! Make sure all y-values are positive
- if (ds%has_np(2) .eqv. .true.) then
- suces = .false.
- return
- end if
-
- ! Exponential least squares is done by reducing the problem to a linear
- ! one, which is more easily solved.
-
- ! We want y = b e^(ax)
- ! ==> ln(y) = ln(b e^(ax)
- ! ==> ln(y) = ln(b) + ax
- ! ==> ln(y) = ax + ln(b)
-
- ! Use linear least squares on ln(y) = ax + ln(b)
- call LinearLeastSquares(ds, 1, 4, aval, bval)
- ! The variable bval now contains ln(b); make it contain b instead
- bval = exp(bval)
-
- ! Now ln(y) = ax + ln(b)
- ! So y = e^(ax + ln(b))
- ! ==> y = e^(ax) e^(ln(b))
- ! ==> y = e^(ax) b
- ! ==> y = b e^(ax)
-
- suces = .true.
- return
-
- end subroutine ExpLeastSquares
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- ! a
- ! PowerLeastSquares - Compute an least squares curve y = b x
- ! using vertical distances
- !
- ! Values of a and b will be stored in aval and bval
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- subroutine PowerLeastSquares(ds, aval, bval, suces)
-
- ! Declare all variables
- implicit none
- ! Type Name(s) Description
- type(Tdataset), intent(in) :: ds ! Data points and sums
- real, intent(out) :: aval ! Value of a
- real, intent(out) :: bval ! Value of b
- logical, intent(out) :: suces ! Success?
-
- ! Make sure all values are positive
- if ((ds%has_np(1) .eqv. .true.) .or. (ds%has_np(2) .eqv. .true.)) then
- suces = .false.
- return
- end if
-
- ! Exponential least squares is done by reducing the problem to a linear
- ! one, which is more easily solved.
-
- ! We want y = b x^a
- ! ==> ln(y) = ln(b x^a)
- ! ==> ln(y) = ln(b) + ln(x^a)
- ! ==> ln(y) = ln(b) + a ln(x)
- ! ==> ln(y) = a ln(x) + ln(b)
-
- ! Use linear least squares on ln(y) = a ln(x) + ln(b)
- call LinearLeastSquares(ds, 3, 4, aval, bval)
- ! The variable bval now contains ln(b); make it contain b instead
- bval = exp(bval)
-
- ! Now ln(y) = a ln(x) + ln(b)
- !
- ! a ln(x) + ln(b)
- ! ==> y = e
- !
- ! a ln(x) ln(b)
- ! ==> y = e e
- !
- ! a ln(x)
- ! ==> y = (e ) b
- !
- ! ln(x) a
- ! ==> y = (e ) b
- !
- ! a
- ! ==> y = x b
- !
- ! a
- ! ==> y = b x
-
- suces = .true.
- return
-
- end subroutine PowerLeastSquares
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !
- ! int2str - Convert an integer i to a string
- !
- ! The string will need to be trim()ed before displaying
- !
- ! Shouldn't something like this be built in?!
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- character(len=32) function int2str(i) result(s)
-
- ! Declare all variables
- implicit none
-
- ! Type Name Description
- integer, intent(in) :: i ! The number to convert
- integer :: ival ! The number, with leading digits removed
- integer :: ndigits ! The number of digits in the number
- integer :: indx ! Loop counter
- integer :: is_neg ! 0 if negative, 1 if positive
-
- ! Start with a 0 string, overwriting the 0 if necessary
- s = '0'
-
- ! Handle the cases where i is <= 0
- if (i .eq. 0) then
- return
- else if (i .lt. 0) then
- s(1:1) = '-' ! Prefix output with a minus sign
- is_neg = 1 ! There is one extra character at the start of the number
- ival = -i ! Now write out the absolute value of i
- else
- is_neg = 0 ! It's not negative
- ival = i ! We want to write out i
- end if
-
- ! The number of digits needed to write out an integer i in base b is
- ! | |
- ! | log (i) | + 1
- ! |_ b _|
- !
- ndigits = floor(log10(ival*1.0)) + 1
-
- ! Write out the digits in order, starting at the left
- do indx = 1, ndigits
- ! What is the first digit's ASCII code? Append it to the string
- s(indx+is_neg:indx+is_neg) = char(48 + ival/10**(ndigits-indx))
- ! Now remove the first digit from ival
- ival = ival - (ival/10**(ndigits-indx))*10**(ndigits-indx)
- end do
-
- return
-
- end function int2str
-
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !
- ! real2str - Convert a real number r to a string
- !
- ! The string will need to be trim()ed before displaying
- !
- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- character(len=128) function real2str(r) result(s)
-
- ! Declare all variables
- implicit none
-
- ! Type Name Description
- real, intent(in) :: r ! The number to convert
- real :: rval ! Value of |r|
- integer :: intpt ! The integer part of the number
- integer :: ifracpt ! The fractional part of the number
- ! (rounded somewhat)
- character(len=1) :: is_neg ! '-' if negative, ' ' otherwise
- character(len=32) :: sintpt ! The integer part, as a string
- character(len=32) :: slead0 ! Leading 0s for fractional part
- character(len=32) :: sfracpt ! The fractional part, as a string
- integer :: nfdigs=4 ! Number of fractional digits
-
- ! If the number's negative, remember this, but make it positive
- if (r .lt. 0) then
- is_neg = '-'
- rval = -r
- else
- is_neg = ' '
- rval = r
- end if
-
- ! Integer part = |_ r _|
- intpt = floor(rval)
-
- ! To get the fractional part, subtract off the integer part, multiply
- ! by 10**(# decimal places), and take the floor to drop off extra digits
- ifracpt = floor((rval-intpt) * 10**nfdigs)
-
- ! Now convert the integer and fractional parts to strings
- sintpt = int2str(intpt)
- sfracpt = int2str(ifracpt)
- slead0 = repeat('0', nfdigs-len_trim(sfracpt))
-
- ! Now just concatenate the number together
- s = trim(is_neg) // & ! Negative sign (if any)
- trim(sintpt) // & ! Integer part
- '.' // & ! Decimal point
- trim(slead0) // & ! Fractional part leading zeros
- int2str(ifracpt) ! Fractional part
-
- return
-
- end function real2str
-
-end program BstFitProj
diff --git a/org.eclipse.photran-samples/src-modules/.cvsignore b/org.eclipse.photran-samples/src-modules/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-modules/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-modules/module1.f90 b/org.eclipse.photran-samples/src-modules/module1.f90
deleted file mode 100644
index d7ade86..0000000
--- a/org.eclipse.photran-samples/src-modules/module1.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module Module1
-contains
- subroutine say_hi
- print *, "Hi"
- end subroutine
-
- subroutine say_bye
- print *, "Bye"
- end subroutine
-
- subroutine rename_this
- print *, "Renamed in 1"
- end subroutine
-end module
diff --git a/org.eclipse.photran-samples/src-modules/module2.f90 b/org.eclipse.photran-samples/src-modules/module2.f90
deleted file mode 100644
index b9e484f..0000000
--- a/org.eclipse.photran-samples/src-modules/module2.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module Module2
-contains
- subroutine say_konnichiwa
- print *, "Kon'nichiwa"
- end subroutine
-
- subroutine say_sayonara
- print *, "Sayonara"
- end subroutine
-
- subroutine rename_this
- print *, "Renamed in 2"
- end subroutine
-end module
diff --git a/org.eclipse.photran-samples/src-modules/zmain.f90 b/org.eclipse.photran-samples/src-modules/zmain.f90
deleted file mode 100644
index d4b8d98..0000000
--- a/org.eclipse.photran-samples/src-modules/zmain.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-program MyProgram
-!implicit none
-
-use module1, renamed_in_1 => rename_this
-use module2, only: say_konnichiwa, renamed_in_2 => rename_this
-
-call start
-
-call say_hi
-call say_bye
-call say_konnichiwa
-!call say_sayonara
-call renamed_in_1
-call renamed_in_2
-
-stop
-
-contains
-
-subroutine start
- implicit none
- integer :: i
- print *, i
-end subroutine
-
-end
diff --git a/org.eclipse.photran-samples/src-scoping/.cvsignore b/org.eclipse.photran-samples/src-scoping/.cvsignore
deleted file mode 100644
index 2e87cbd..0000000
--- a/org.eclipse.photran-samples/src-scoping/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-a.exe
diff --git a/org.eclipse.photran-samples/src-scoping/scoping.f90 b/org.eclipse.photran-samples/src-scoping/scoping.f90
deleted file mode 100644
index 9cc9b36..0000000
--- a/org.eclipse.photran-samples/src-scoping/scoping.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-program p
- call ctn1
- call ctn2
- call ext1
- call ext2
-contains
- subroutine ctn1
- call ctn2
- call ext1
- call ext2
- end subroutine
-
- subroutine ctn2
- call ctn1
- call ext1
- call ext2
- end subroutine
-end program p
-
-subroutine ext1
- call ext2
-end subroutine ext1
-
-subroutine ext2
- call ext1
-end subroutine ext2
diff --git a/org.eclipse.photran.core.vpg.tests.failing/.classpath b/org.eclipse.photran.core.vpg.tests.failing/.classpath
deleted file mode 100644
index 472ee29..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.core.vpg.tests.failing/.project b/org.eclipse.photran.core.vpg.tests.failing/.project
deleted file mode 100644
index 82783c8..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.photran.core.vpg.tests.failing</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sourceforge.metrics.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sourceforge.metrics.nature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 20978b8..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,270 +0,0 @@
-#Thu Oct 08 11:30:47 CDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 25d194d..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu Oct 08 11:30:47 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n * UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.photran.core.vpg.tests.failing/META-INF/MANIFEST.MF b/org.eclipse.photran.core.vpg.tests.failing/META-INF/MANIFEST.MF
deleted file mode 100644
index 8956fa9..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Photran VPG Failing Unit Tests
-Bundle-SymbolicName: org.eclipse.photran.core.vpg.tests.failing
-Bundle-Version: 1.0.0
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.photran.core.vpg.tests,
- org.eclipse.photran.ui.vpg,
- org.junit,
- org.eclipse.photran.core,
- org.eclipse.photran.core.vpg,
- org.eclipse.cdt.core,
- org.eclipse.cdt.core.tests,
- org.eclipse.jface,
- org.eclipse.search
diff --git a/org.eclipse.photran.core.vpg.tests.failing/build.properties b/org.eclipse.photran.core.vpg.tests.failing/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
diff --git a/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello.f90 b/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello.f90
deleted file mode 100644
index 3f0bedf..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello
- integer :: i = 3 !!! a variable !!!
-
- call Sub(Fn(i) + 1)
-
- print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
-
- print *, "In the subroutine, the integer is ", x
-end subroutine Sub ! end
-
-end program
-
-integer function Fn(n) result(y)
- print *, "You sent", n, "to the function"
- y = n
-end function
diff --git a/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello.f90.result b/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello.f90.result
deleted file mode 100644
index 039a260..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello.f90.result
+++ /dev/null
@@ -1,23 +0,0 @@
-program Hello
- implicit none
- integer :: i = 3 !!! a variable !!!
-
- call Sub(Fn(i) + 1)
-
- print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
- implicit none
- real :: x
-
- print *, "In the subroutine, the integer is ", x
-end subroutine Sub ! end
-
-end program
-
-integer function Fn(n) result(y)
- print *, "You sent", n, "to the function"
- y = n
-end function
diff --git a/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello2.f90 b/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello2.f90
deleted file mode 100644
index b753872..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello2.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello
- integer :: i = 3 !!! a variable !!!
-
- call Sub(Fn(i) + 1)
-
- print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
-
- print *, "In the subroutine, the integer is ", x
-end subroutine Sub ! end
-
-integer function Fn(n) result(y)
- print *, "You sent", n, "to the function"
- y = n
-end function
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello2.f90.result b/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello2.f90.result
deleted file mode 100644
index 8ac7f99..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/intro-implicit-test-code/hello2.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-program Hello
- implicit none
- integer :: i = 3 !!! a variable !!!
-
- call Sub(Fn(i) + 1)
-
- print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
- implicit none
- real :: x
-
- print *, "In the subroutine, the integer is ", x
-end subroutine Sub ! end
-
-integer function Fn(n) result(y)
- implicit none
- integer :: n
- integer :: y
- print *, "You sent", n, "to the function"
- y = n
-end function
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/00-README.txt b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/00-README.txt
deleted file mode 100644
index f031a7e..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/00-README.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-The classes in this package are identical to those in the same package in the
-org.eclipse.photran.core.vpg.tests plug-in, EXCEPT that they create an instance
-of FailingParserTestSuite
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialFromTheWWW.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialFromTheWWW.java
deleted file mode 100644
index a59c39e..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialFromTheWWW.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.a_parser;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.FailingParserTestSuite;
-
-public class ParseProjectConfidentialFromTheWWW
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.from-the-www", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialLAPACK.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialLAPACK.java
deleted file mode 100644
index 47cd108..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialLAPACK.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.a_parser;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.FailingParserTestSuite;
-
-public class ParseProjectConfidentialLAPACK
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.lapack", true, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialNagleFortran2003.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialNagleFortran2003.java
deleted file mode 100644
index 8038987..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialNagleFortran2003.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.a_parser;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.FailingParserTestSuite;
-
-public class ParseProjectConfidentialNagleFortran2003
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.nagle-fortran2003", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialPOP.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialPOP.java
deleted file mode 100644
index 0e6cbae..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialPOP.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.a_parser;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.FailingParserTestSuite;
-
-public class ParseProjectConfidentialPOP
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.pop", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdFortran2003.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdFortran2003.java
deleted file mode 100644
index 8f382b2..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdFortran2003.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.a_parser;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.FailingParserTestSuite;
-
-public class ParseProjectConfidentialWaltBrainerdFortran2003
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-fortran2003", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdTestSuiteFixed.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdTestSuiteFixed.java
deleted file mode 100644
index d9532f7..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdTestSuiteFixed.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.a_parser;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.FailingParserTestSuite;
-
-public class ParseProjectConfidentialWaltBrainerdTestSuiteFixed
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-test-suite",
- true, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdTestSuiteFree.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdTestSuiteFree.java
deleted file mode 100644
index 515c3e2..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/a_parser/ParseProjectConfidentialWaltBrainerdTestSuiteFree.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.a_parser;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.FailingParserTestSuite;
-
-public class ParseProjectConfidentialWaltBrainerdTestSuiteFree
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new FailingParserTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-test-suite",
- false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestReindent.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestReindent.java
deleted file mode 100644
index 1078ff9..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestReindent.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.photran.internal.core.tests.f_source_editing;
-
-import org.eclipse.photran.internal.core.tests.AbstractSourceEditorTestCase;
-
-public class TestReindent extends AbstractSourceEditorTestCase
-{
- public void test() {}
-
-// public void testPasteQOutsideAndReindent() throws Exception
-// {
-// ASTExecutableProgramNode ast = load("hello-1-initial.f90");
-//
-// ASTSubroutineSubprogramNode q = ast.getASTProgramUnit(1).getASTMainProgram().getASTMainRange().getASTBodyPlusInternals().getASTInternalSubprogram(2).getASTSubroutineSubprogram();
-// SourceEditor.cut(q);
-// SourceEditor.pasteAsFirstChild(q, ast.getASTProgramUnit(0), ast, true);
-// assertEquals(load("hello-7-q-pasted-formatted.f90"), ast);
-// }
-//
-// public void testPasteQAtBottomAndReindent() throws Exception
-// {
-// ASTExecutableProgramNode ast = load("hello-1-initial.f90");
-//
-// ASTSubroutineSubprogramNode q = ast.getASTProgramUnit(1).getASTMainProgram().getASTMainRange().getASTBodyPlusInternals().getASTInternalSubprogram(2).getASTSubroutineSubprogram();
-// SourceEditor.cut(q);
-// SourceEditor.pasteAsLastChild(q, ast.getASTProgramUnit(0), ast, true);
-// assertEquals(load("hello-8-q-pasted-at-bottom-formatted.f90"), ast);
-// }
-//
-// public void testPasteTAboveQAndReindent() throws Exception
-// {
-// ASTExecutableProgramNode ast = load("hello-1-initial.f90");
-//
-// ASTSubroutineSubprogramNode t = ast.getASTProgramUnit(0).getASTSubroutineSubprogram();
-// ParseTreeNode internalSubprogram2 = ast.getASTProgramUnit(1).getASTMainProgram().getASTMainRange().getASTBodyPlusInternals().getASTInternalSubprogram(2);
-// SourceEditor.cut(t);
-// SourceEditor.pasteAsFirstChild(t, internalSubprogram2, ast, true);
-// assertEquals(load("hello-9-t-above-q.f90"), ast);
-// }
-}
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestSuite.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestSuite.java
deleted file mode 100644
index e964bfa..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestSuite.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.photran.refactoring.tests.introimplicitnone;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class IntroImplicitTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
- suite.addTest(getSuiteFor("hello.f90"));
- suite.addTest(getSuiteFor("hello2.f90"));
- return suite;
- }
-
- private static TestSuite getSuiteFor(String baseFilename)
- {
- TestSuite subSuite = new TestSuite("Introducing Implicit None in " + baseFilename);
- subSuite.addTest(new IntroImplicitTestCase(baseFilename, new LineCol(1, 9), true));
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/search/tests/VPGSearchTestSuite.java b/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/search/tests/VPGSearchTestSuite.java
deleted file mode 100644
index 271eab0..0000000
--- a/org.eclipse.photran.core.vpg.tests.failing/src/org/eclipse/photran/search/tests/VPGSearchTestSuite.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.eclipse.photran.search.tests;
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.ui.search.VPGSearchQuery;
-import org.eclipse.search.ui.text.Match;
-
-/**
- * The suite of tests for testing search functionality
- *
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- */
-public class VPGSearchTestSuite extends TestSuite
-{
- /**
- * Adds all the tests to the suite for searching tests
- */
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
- ArrayList<Match> matches = new ArrayList<Match>();
-
- //test 4
- //Tests FIND_REFERENCES
- matches = new ArrayList<Match>();
- matches.add(new Match("foo.f90",30,1));
- matches.add(new Match("implicitTest.f90",22,1));
- suite.addTest(getSuiteFor("testFour", new VPGSearchTestCase("a",
- VPGSearchQuery.FIND_REFERENCES | VPGSearchQuery.FIND_ALL_TYPES, matches, false)));
-
- return suite;
- }
-
- private static TestSuite getSuiteFor(String baseFilename, VPGSearchTestCase testCase)
- {
- TestSuite subSuite = new TestSuite(baseFilename);
- subSuite.addTest(testCase);
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/.classpath b/org.eclipse.photran.core.vpg.tests/.classpath
deleted file mode 100644
index 472ee29..0000000
--- a/org.eclipse.photran.core.vpg.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.photran.core.vpg.tests/.project b/org.eclipse.photran.core.vpg.tests/.project
deleted file mode 100644
index 67cbcd3..0000000
--- a/org.eclipse.photran.core.vpg.tests/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.photran.core.vpg.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>net.sourceforge.metrics.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>net.sourceforge.metrics.nature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4776e5f..0000000
--- a/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,270 +0,0 @@
-#Thu Oct 08 11:30:38 CDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b439e4e..0000000
--- a/org.eclipse.photran.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Thu Oct 08 11:30:38 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\r\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\r\n * All rights reserved. This program and the accompanying materials\r\n * are made available under the terms of the Eclipse Public License v1.0\r\n * which accompanies this distribution, and is available at\r\n * http\://www.eclipse.org/legal/epl-v10.html\r\n *\r\n * Contributors\:\r\n * UIUC - Initial API and implementation\r\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * \r\n * @author ${user}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.photran.core.vpg.tests/META-INF/MANIFEST.MF b/org.eclipse.photran.core.vpg.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index d46a495..0000000
--- a/org.eclipse.photran.core.vpg.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,36 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Photran Virtual Program Graph Tests Plug-in
-Bundle-SymbolicName: org.eclipse.photran.core.vpg.tests
-Bundle-Version: 1.0.0
-Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.photran.core.vpg,
- org.eclipse.photran.ui.vpg,
- org.eclipse.cdt.core.tests,
- org.eclipse.core.resources,
- org.eclipse.ltk.core.refactoring,
- org.eclipse.core.runtime,
- org.eclipse.jface.text,
- org.junit,
- org.eclipse.cdt.core,
- org.eclipse.jface,
- org.eclipse.search,
- org.eclipse.rephraserengine.core.vpg,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.core.refactoring
-Eclipse-LazyStart: true
-Bundle-Activator: org.eclipse.photran.refactoring.tests.Activator
-Export-Package: org.eclipse.photran.internal.core.tests,
- org.eclipse.photran.internal.core.tests.f_source_editing,
- org.eclipse.photran.internal.core.tests.g_type_check,
- org.eclipse.photran.internal.core.tests.h_interface_links,
- org.eclipse.photran.internal.core.tests.projects,
- org.eclipse.photran.internal.core.tests.serialization,
- org.eclipse.photran.internal.core.tests.x_cpreprocessor,
- org.eclipse.photran.refactoring.tests,
- org.eclipse.photran.refactoring.tests.extractprocedure,
- org.eclipse.photran.refactoring.tests.infrastructure,
- org.eclipse.photran.refactoring.tests.introimplicitnone,
- org.eclipse.photran.refactoring.tests.movesavedtocommonblock,
- org.eclipse.photran.refactoring.tests.rename,
- org.eclipse.photran.search.tests
diff --git a/org.eclipse.photran.core.vpg.tests/Makefile b/org.eclipse.photran.core.vpg.tests/Makefile
deleted file mode 100644
index 6d0965f..0000000
--- a/org.eclipse.photran.core.vpg.tests/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-all:
- $(MAKE) -C rename-test-code
-
-clean:
- $(MAKE) clean -C rename-test-code
diff --git a/org.eclipse.photran.core.vpg.tests/NOTE b/org.eclipse.photran.core.vpg.tests/NOTE
deleted file mode 100644
index 281ce20..0000000
--- a/org.eclipse.photran.core.vpg.tests/NOTE
+++ /dev/null
@@ -1,18 +0,0 @@
-Due to licensing restrictions, most of the Fortran code used for testing
-the parser cannot be made publicly available. The corresponding JUnit
-tests will NOT fail if these directories do not exist; an informational
-message will be displayed instead.
-
-If you are working on the lexer/parser and require access to this code,
-please e-mail one of the developers.
-
-To add more confidential Fortran code to the parser test suite:
-(1) Add the code in subdirectories under parser-test-code
- (by convention, their names start with "confidential-")
-(2) Add these subdirectories to .cvsignore
-(3) Use the ParseIBEAM or ParseConfidential*Files classes as
- examples of how to have the code parsed. Be sure to pass
- "false" for the mustExist parameter.
-(4) Distribute the code to the other developers working on the parser.
-
---Jeff Overbey (23 Sept 06)
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module2.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module2.f90
deleted file mode 100644
index fbc4a9a..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module module2
- implicit none
-
- contains
- subroutine help_common2
- common /block/ d, e, f
- integer :: d
- real :: e
- double precision :: f
- end subroutine help_common2
-end module module2
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module3.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module3.f90
deleted file mode 100644
index b029e6a..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module module3
- implicit none
- integer :: onlyTest = 2
-
- contains
- subroutine help_common3
- common /block/ r, s, t
- integer :: r
- real :: s
- double precision :: t
-
- print *, onlyTest
- end subroutine help_common3
-end module module3
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module4.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module4.f90
deleted file mode 100644
index 1df11d8..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module4.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module module4
- implicit none
- integer f
-
- contains
- subroutine help_common4
- common /mem/ a, b, c
- integer :: a, b, c
- end subroutine help_common4
-end module module4
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module5.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module5.f90
deleted file mode 100644
index 0888ffa..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/module5.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-module module5
- implicit none
-end module module5
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test1.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test1.f90
deleted file mode 100644
index 11a3ddb..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test1.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program program1
-use module2
-use module3
-use module4, only: help_common4
-implicit none
-
-common /block/ a, b, c, /mem/ r, f, t
-integer :: a
-real :: b
-double precision :: c
-
-integer :: r, f, t
-
-a = 5
-b = 4.6
-c = 2.345
-
-call helper
-end program program1
-
-subroutine helper
-implicit none
-common /block/ e, f, g
-integer :: e
-real :: f
-double precision :: g
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test1.f90.result b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test1.f90.result
deleted file mode 100644
index 11a3ddb..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test1.f90.result
+++ /dev/null
@@ -1,27 +0,0 @@
-program program1
-use module2
-use module3
-use module4, only: help_common4
-implicit none
-
-common /block/ a, b, c, /mem/ r, f, t
-integer :: a
-real :: b
-double precision :: c
-
-integer :: r, f, t
-
-a = 5
-b = 4.6
-c = 2.345
-
-call helper
-end program program1
-
-subroutine helper
-implicit none
-common /block/ e, f, g
-integer :: e
-real :: f
-double precision :: g
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test2.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test2.f90
deleted file mode 100644
index 11a3ddb..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test2.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program program1
-use module2
-use module3
-use module4, only: help_common4
-implicit none
-
-common /block/ a, b, c, /mem/ r, f, t
-integer :: a
-real :: b
-double precision :: c
-
-integer :: r, f, t
-
-a = 5
-b = 4.6
-c = 2.345
-
-call helper
-end program program1
-
-subroutine helper
-implicit none
-common /block/ e, f, g
-integer :: e
-real :: f
-double precision :: g
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test2.f90.result b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test2.f90.result
deleted file mode 100644
index 470fefa..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test2.f90.result
+++ /dev/null
@@ -1,27 +0,0 @@
-program program1
-use module2
-use module3, only: help_common3, onlytest
-use module4, only: help_common4
-implicit none
-
-common /block/ a, b, c, /mem/ r, f, t
-integer :: a
-real :: b
-double precision :: c
-
-integer :: r, f, t
-
-a = 5
-b = 4.6
-c = 2.345
-
-call helper
-end program program1
-
-subroutine helper
-implicit none
-common /block/ e, f, g
-integer :: e
-real :: f
-double precision :: g
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test3.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test3.f90
deleted file mode 100644
index 2002d16..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test3.f90
+++ /dev/null
@@ -1,28 +0,0 @@
-program program1
-use module2
-use module3
-use module4, only: help_common4
-use module5
-implicit none
-
-common /block/ a, b, c, /mem/ r, f, t
-integer :: a
-real :: b
-double precision :: c
-
-integer :: r, f, t
-
-a = 5
-b = 4.6
-c = 2.345
-
-call helper
-end program program1
-
-subroutine helper
-implicit none
-common /block/ e, f, g
-integer :: e
-real :: f
-double precision :: g
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test6.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test6.f90
deleted file mode 100644
index 8218a79..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test6.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program test6
- use module4
- implicit none
- integer f
- f = 4
-end program test6
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test7.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test7.f90
deleted file mode 100644
index a3c7cf2..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test7.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-program test7
- use module4
- implicit none
-
-end program test7
-
-module module4
- implicit none
- contains
- subroutine help
- end subroutine
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test8.f90 b/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test8.f90
deleted file mode 100644
index 3147a8b..0000000
--- a/org.eclipse.photran.core.vpg.tests/add-only-to-use-test-code/test8.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-program test8
- use module4
- implicit none
-
- call help_common4
-end program test8
-
-subroutine help_common4
- implicit none
- real blah
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/build.properties b/org.eclipse.photran.core.vpg.tests/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/org.eclipse.photran.core.vpg.tests/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
diff --git a/org.eclipse.photran.core.vpg.tests/check-can-add-test-code/external.f90 b/org.eclipse.photran.core.vpg.tests/check-can-add-test-code/external.f90
deleted file mode 100644
index d437ea8..0000000
--- a/org.eclipse.photran.core.vpg.tests/check-can-add-test-code/external.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-subroutine declared_external_subroutine
- implicit none
- print *, "Called declared_external_subroutine"
-end subroutine declared_external_subroutine
-
-subroutine undeclared_external_subroutine
- implicit none
- print *, "Called undeclared_external_subroutine"
-end subroutine undeclared_external_subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/check-can-add-test-code/main.f90 b/org.eclipse.photran.core.vpg.tests/check-can-add-test-code/main.f90
deleted file mode 100644
index b348b08..0000000
--- a/org.eclipse.photran.core.vpg.tests/check-can-add-test-code/main.f90
+++ /dev/null
@@ -1,42 +0,0 @@
-program program ! LINE 1
- use module
- implicit none
-
- external declared_external_subroutine
- integer :: unused_local_variable
- integer :: assigned_local_variable
- integer :: local_variable_accessed_from_internal_subroutine
-
- ! Don't call unused_defined_external_subroutine
- call defined_external_subroutine
- call declared_external_subroutine
- call undeclared_external_subroutine
- call internal_subroutine
- call used_module_subroutine
-
- assigned_local_variable = local_variable_accessed_from_internal_subroutine
-
- print *, assigned_local_variable
-
-contains
-
- subroutine internal_subroutine ! LINE 23
- print *, "Called internal_subroutine"
- local_variable_accessed_from_internal_subroutine = 12345
- end subroutine internal_subroutine
-
- subroutine unused_internal_subroutine
- print *, "Called unused_internal_subroutine"
- end subroutine unused_internal_subroutine
-
-end program program
-
-subroutine defined_external_subroutine
- implicit none
- print *, "Called defined_external_subroutine"
-end subroutine defined_external_subroutine
-
-subroutine unused_defined_external_subroutine
- implicit none
- print *, "Called unused_defined_external_subroutine"
-end subroutine unused_defined_external_subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/check-can-add-test-code/module.f90 b/org.eclipse.photran.core.vpg.tests/check-can-add-test-code/module.f90
deleted file mode 100644
index b3f0d51..0000000
--- a/org.eclipse.photran.core.vpg.tests/check-can-add-test-code/module.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-module module ! LINE 1
- implicit none
-
- private :: private_module_subroutine
-
-contains
-
- subroutine used_module_subroutine
- print *, "Called used_module_subroutine"
- end subroutine used_module_subroutine
-
- subroutine unused_module_subroutine
- print *, "Called unused_module_subroutine"
- end subroutine unused_module_subroutine
-
- subroutine private_module_subroutine
- print *, "Called private_module_subroutine"
- end subroutine private_module_subroutine
-
-end module module
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/module1.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/module1.f90
deleted file mode 100644
index f572c17..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/module1.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-module module1
- implicit none
- integer :: i,j,k
-
-contains
-
-end module
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/module1.f90.result b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/module1.f90.result
deleted file mode 100644
index 593f327..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/module1.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-module module1
- implicit none
- integer :: i,j,k
- private :: i
-
-contains
- subroutine setI(value)
- implicit none
- integer, intent(in) :: value
- i = value
- end subroutine
-
- integer function getI()
- implicit none
- getI = i
- end function
-
-
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01a-basic-integer.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01a-basic-integer.f90
deleted file mode 100644
index eb96a3c..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01a-basic-integer.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-module mod
- implicit none
- integer :: variable !3,14,8
-end module
-
-program encap1
- use mod
- implicit none
- print *, variable
- variable = 3
- print *, variable
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01a-basic-integer.f90.result b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01a-basic-integer.f90.result
deleted file mode 100644
index c4c19f3..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01a-basic-integer.f90.result
+++ /dev/null
@@ -1,25 +0,0 @@
-module mod
- implicit none
- integer :: variable !3,14,8
- private :: variable
-contains
- subroutine setVariable(value)
- implicit none
- integer, intent(in) :: value
- variable = value
- end subroutine
-
- integer function getVariable()
- implicit none
- getVariable = variable
- end function
-
-end module
-
-program encap1
- use mod
- implicit none
- print *,getVariable()
- call setVariable(3)
- print *,getVariable()
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01b-basic-real.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01b-basic-real.f90
deleted file mode 100644
index fe13658..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01b-basic-real.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-module mod
- implicit none
- real :: variable !3,11,8
-end module
-
-program encap1
- use mod
- implicit none
- print *, variable
- variable = 3.0
- print *, variable
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01b-basic-real.f90.result b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01b-basic-real.f90.result
deleted file mode 100644
index 8669aa6..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01b-basic-real.f90.result
+++ /dev/null
@@ -1,25 +0,0 @@
-module mod
- implicit none
- real :: variable !3,11,8
- private :: variable
-contains
- subroutine setVariable(value)
- implicit none
- real, intent(in) :: value
- variable = value
- end subroutine
-
- real function getVariable()
- implicit none
- getVariable = variable
- end function
-
-end module
-
-program encap1
- use mod
- implicit none
- print *,getVariable()
- call setVariable(3.0)
- print *,getVariable()
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01c-basic-dt.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01c-basic-dt.f90
deleted file mode 100644
index 66cd693..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01c-basic-dt.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-module mod
- implicit none
-
- type point
- double precision x, y, z
- end type
-
- type(point) :: variable !8,18,8
-end module
-
-program encap1
- use mod
- implicit none
- print *, variable
- variable = point(1.0, 2.0, 3.0)
- print *, variable
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01c-basic-dt.f90.result b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01c-basic-dt.f90.result
deleted file mode 100644
index 02cd4ed..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-01c-basic-dt.f90.result
+++ /dev/null
@@ -1,30 +0,0 @@
-module mod
- implicit none
-
- type point
- double precision x, y, z
- end type
-
- type(point) :: variable !8,18,8
- private :: variable
-contains
- subroutine setVariable(value)
- implicit none
- type(point), intent(in) :: value
- variable = value
- end subroutine
-
- type(point) function getVariable()
- implicit none
- getVariable = variable
- end function
-
-end module
-
-program encap1
- use mod
- implicit none
- print *,getVariable()
- call setVariable(point(1.0, 2.0, 3.0))
- print *,getVariable()
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-02-contains.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-02-contains.f90
deleted file mode 100644
index cb4d664..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-02-contains.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-module mod
- implicit none
- integer :: variable !3,14,8
-contains
- integer function three()
- three = 3
- end function
-end module
-
-program encap1
- use mod
- implicit none
- print *, variable
- variable = 3
- print *, variable
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-02-contains.f90.result b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-02-contains.f90.result
deleted file mode 100644
index d9b0691..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-02-contains.f90.result
+++ /dev/null
@@ -1,28 +0,0 @@
-module mod
- implicit none
- integer :: variable !3,14,8
- private :: variable
-contains
- subroutine setVariable(value)
- implicit none
- integer, intent(in) :: value
- variable = value
- end subroutine
-
- integer function getVariable()
- implicit none
- getVariable = variable
- end function
-
- integer function three()
- three = 3
- end function
-end module
-
-program encap1
- use mod
- implicit none
- print *,getVariable()
- call setVariable(3)
- print *,getVariable()
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-03-expr.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-03-expr.f90
deleted file mode 100644
index 72827d7..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-03-expr.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-module mod
- implicit none
- integer :: variable !3,14,8
-end module
-
-program encap1
- use mod
- implicit none
- variable = 3
- ! 9 + 1
- variable = variable * variable + (variable - 2)
- print *, variable, " should be equal to ", 10
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-03-expr.f90.result b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-03-expr.f90.result
deleted file mode 100644
index 2d93b21..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-03-expr.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-module mod
- implicit none
- integer :: variable !3,14,8
- private :: variable
-contains
- subroutine setVariable(value)
- implicit none
- integer, intent(in) :: value
- variable = value
- end subroutine
-
- integer function getVariable()
- implicit none
- getVariable = variable
- end function
-
-end module
-
-program encap1
- use mod
- implicit none
- call setVariable(3)
- ! 9 + 1
- call setVariable(getVariable() *getVariable() + (getVariable() - 2))
- print *,getVariable(), " should be equal to ", 10
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-04-nosetter-parameter.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-04-nosetter-parameter.f90
deleted file mode 100644
index 03304c2..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-04-nosetter-parameter.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module mod
- implicit none
- integer, parameter :: CONSTANT = 10 !3,25,8
-end module
-
-program encap1
- use mod
- implicit none
-
- print *, CONSTANT
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-05a-fail-conflict.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-05a-fail-conflict.f90
deleted file mode 100644
index 1074c94..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-05a-fail-conflict.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-module mod
- implicit none
- integer :: variable !3,14,8
-contains
- integer function getVariable()
- getVariable = 99999
- end function
-end module
-
-program encap1
- use mod
- implicit none
- print *, variable
- variable = 3
- print *, variable
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06a-fail-array.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06a-fail-array.f90
deleted file mode 100644
index 1d2e6c2..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06a-fail-array.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module mod
- implicit none
- integer, dimension(3) :: variable !3,28,8
-end module
-
-program encap1
- use mod
- implicit none
- variable = (/ 1, 2, 3 /)
- print *, variable
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06b-fail-pointer.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06b-fail-pointer.f90
deleted file mode 100644
index 24519cc..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06b-fail-pointer.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-module mod
- implicit none
- integer, pointer :: ptr !3,23,3
-end module
-
-program encap1
- use mod
- implicit none
-
- integer, target :: int
- int = 3
- ptr => int
- int = 4
- print *, ptr
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06c-fail-allocatable1.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06c-fail-allocatable1.f90
deleted file mode 100644
index c9f2bb1..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06c-fail-allocatable1.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module mod
- implicit none
- integer, dimension(:), allocatable :: array !3,27,5
-end module
-
-program encap1
- use mod
- implicit none
-
- allocate (array(5))
- array = (/ 10, 20, 30, 40, 50 /)
- print *, array
- deallocate (array)
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06d-fail-allocatable2.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06d-fail-allocatable2.f90
deleted file mode 100644
index c55fd1e..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06d-fail-allocatable2.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-module mod
- implicit none
- integer, dimension(:), allocatable :: array !3,27,5
-contains
- subroutine alloc
- allocate (array(5))
- end subroutine
- subroutine dealloc
- deallocate (array)
- end subroutine
-end module
-
-program encap1
- use mod
- implicit none
-
- call alloc
- array = (/ 10, 20, 30, 40, 50 /)
- print *, array
- call dealloc
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06e-fail-target.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06e-fail-target.f90
deleted file mode 100644
index e341aba..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-encap-06e-fail-target.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-module mod
- implicit none
- integer, target :: int
-end module
-
-program encap1
- use mod
- implicit none
-
- integer, pointer :: ptr !3,22,3
- int = 3
- ptr => int
- int = 4
- print *, ptr
-end program encap1
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-simple01.f90 b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-simple01.f90
deleted file mode 100644
index 79a0e59..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-simple01.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-program main
- use module1
- implicit none
- integer :: blah
-
- blah = i + j + k !6,12,1
-
- i = blah + j
-
- call mult(i,j,blah)
-
-contains
- subroutine mult(a,b,c)
- integer, intent(in) :: a, b, c
- integer :: temp
- temp = a*b*c
- end subroutine
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-simple01.f90.result b/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-simple01.f90.result
deleted file mode 100644
index c02bf5f..0000000
--- a/org.eclipse.photran.core.vpg.tests/encapsulate-variable-test-code/test-simple01.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-program main
- use module1
- implicit none
- integer :: blah
-
- blah =getI() + j + k !6,12,1
-
- call setI(blah + j)
-
- call mult(getI(),j,blah)
-
-contains
- subroutine mult(a,b,c)
- integer, intent(in) :: a, b, c
- integer :: temp
- temp = a*b*c
- end subroutine
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test01-simple.f90 b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test01-simple.f90
deleted file mode 100644
index 5860258..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test01-simple.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-subroutine sub
- print *, "Hello" !<<<<<START !<<<<<END
-end subroutine
-
-program main; call sub; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test01-simple.f90.result b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test01-simple.f90.result
deleted file mode 100644
index d854233..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test01-simple.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-subroutine sub
- call new_procedure()
-end subroutine
-
-subroutine new_procedure()
- implicit none
- print *, "Hello" !<<<<<START !<<<<<END
-end subroutine
-
-
-program main; call sub; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test02-locals.f90 b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test02-locals.f90
deleted file mode 100644
index 42a27c5..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test02-locals.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-call sub1(); call flush; stop
-contains
-
- subroutine sub1
- integer :: a, b
- dimension a(3, 4:5)
- do b = 1, 3; a(b, :) = b*10; enddo; implicit1 = 20; implicit2 = 30
- print *, a !<<<<<START
- print *, b
- print *, implicit1
- print *, implicit2
- if (implicit2 .gt. 3) then
- print *, "OK"
- end if !<<<<<END
- end subroutine
-
- subroutine x
- end subroutine x
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test02-locals.f90.result b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test02-locals.f90.result
deleted file mode 100644
index 74591b0..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test02-locals.f90.result
+++ /dev/null
@@ -1,29 +0,0 @@
-call sub1(); call flush; stop
-contains
-
- subroutine sub1
- integer :: a, b
- dimension a(3, 4:5)
- do b = 1, 3; a(b, :) = b*10; enddo; implicit1 = 20; implicit2 = 30
- call new_procedure(a, b, implicit1, implicit2)
- end subroutine
-
- subroutine new_procedure(a, b, implicit1, implicit2)
- implicit none
- integer :: a(3, 4:5)
- integer :: b
- integer :: implicit1
- integer :: implicit2
- print *, a !<<<<<START
- print *, b
- print *, implicit1
- print *, implicit2
- if (implicit2 .gt. 3) then
- print *, "OK"
- end if !<<<<<END
- end subroutine
-
-
- subroutine x
- end subroutine x
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test03-locals2.f90 b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test03-locals2.f90
deleted file mode 100644
index fed5543..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test03-locals2.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-call sub1(); call flush; stop
-contains
-
- subroutine sub1
- integer :: a, b
- dimension a(3, 4:5)
- do b = 1, 3; a(b, :) = b*10; enddo; implicit1 = 20; implicit2 = 30
- print *, a
- print *, b !<<<<<START !<<<<<END
- print *, implicit1
- print *, implicit2
- if (implicit2 .gt. 3) then
- print *, "OK"
- end if
- end subroutine
-
- subroutine x
- end subroutine x
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test03-locals2.f90.result b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test03-locals2.f90.result
deleted file mode 100644
index 5b0f312..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test03-locals2.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-call sub1(); call flush; stop
-contains
-
- subroutine sub1
- integer :: a, b
- dimension a(3, 4:5)
- do b = 1, 3; a(b, :) = b*10; enddo; implicit1 = 20; implicit2 = 30
- print *, a
- call new_procedure(b)
- print *, implicit1
- print *, implicit2
- if (implicit2 .gt. 3) then
- print *, "OK"
- end if
- end subroutine
-
- subroutine new_procedure(b)
- implicit none
- integer :: b
- print *, b !<<<<<START !<<<<<END
- end subroutine
-
-
- subroutine x
- end subroutine x
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test04-in-loop.f90 b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test04-in-loop.f90
deleted file mode 100644
index a4af97e..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test04-in-loop.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-subroutine hmmm
- do 10 i = 1, 5
- print *, i !<<<<<START
- if (i .gt. 3) then
- print *, i * 10
- end if !<<<<<END
- print *, i
-10 continue
-end subroutine
-
-program main; call hmmm; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test04-in-loop.f90.result b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test04-in-loop.f90.result
deleted file mode 100644
index f17e531..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test04-in-loop.f90.result
+++ /dev/null
@@ -1,18 +0,0 @@
-subroutine hmmm
- do 10 i = 1, 5
- call new_procedure(i)
- print *, i
-10 continue
-end subroutine
-
-subroutine new_procedure(i)
- implicit none
- integer :: i
- print *, i !<<<<<START
- if (i .gt. 3) then
- print *, i * 10
- end if !<<<<<END
-end subroutine
-
-
-program main; call hmmm; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test05-parameter.f90 b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test05-parameter.f90
deleted file mode 100644
index def65e6..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test05-parameter.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-subroutine prob
- integer, parameter :: SIZE = 5
- real :: matrix(SIZE, SIZE)
- matrix(:, :) = 0.0 !<<<<<START !<<<<<END
- print *, matrix
-end subroutine
-
-program main; call prob; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test05-parameter.f90.result b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test05-parameter.f90.result
deleted file mode 100644
index 26bfbf6..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test05-parameter.f90.result
+++ /dev/null
@@ -1,16 +0,0 @@
-subroutine prob
- integer, parameter :: SIZE = 5
- real :: matrix(SIZE, SIZE)
- call new_procedure(SIZE, matrix)
- print *, matrix
-end subroutine
-
-subroutine new_procedure(SIZE, matrix)
- implicit none
- integer :: SIZE
- real :: matrix(SIZE, SIZE)
- matrix(:, :) = 0.0 !<<<<<START !<<<<<END
-end subroutine
-
-
-program main; call prob; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test06-parameter.f90 b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test06-parameter.f90
deleted file mode 100644
index ce0d9b1..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test06-parameter.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-subroutine prob
- integer, parameter :: ROWS = 5, COLS = 7
- real :: matrix(ROWS, COLS)
- matrix(:, :) = 0.0 !<<<<<START !<<<<<END
- print *, matrix
-end subroutine
-
-program main; call prob; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test06-parameter.f90.result b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test06-parameter.f90.result
deleted file mode 100644
index 255bebd..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test06-parameter.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-subroutine prob
- integer, parameter :: ROWS = 5, COLS = 7
- real :: matrix(ROWS, COLS)
- call new_procedure(COLS, ROWS, matrix)
- print *, matrix
-end subroutine
-
-subroutine new_procedure(COLS, ROWS, matrix)
- implicit none
- integer :: COLS
- integer :: ROWS
- real :: matrix(ROWS, COLS)
- matrix(:, :) = 0.0 !<<<<<START !<<<<<END
-end subroutine
-
-
-program main; call prob; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test07-attribs.f90 b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test07-attribs.f90
deleted file mode 100644
index 2f547d2..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test07-attribs.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-subroutine prob(m, n)
- implicit none
- integer, intent(in) :: m
- integer, intent(out) :: n
- integer, save :: saved = 10
- target :: saved
- integer, pointer :: p_saved
- integer, parameter :: ROWS = 5, COLS = 7
- real :: matrix(ROWS, COLS)
- p_saved => saved
- matrix(:, :) = 0.0 !<<<<<START
- n = 5 * m
- saved = 2
- !p_saved => saved
- !p_saved = p_saved + 1
- print *, n, m, saved !<<<<<END
- print *, n, m, saved, p_saved
-end subroutine
-
-program main; call prob(3, n); call prob(3, n); print *, n; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test07-attribs.f90.result b/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test07-attribs.f90.result
deleted file mode 100644
index 035c9c1..0000000
--- a/org.eclipse.photran.core.vpg.tests/extract-proc-test-code/test07-attribs.f90.result
+++ /dev/null
@@ -1,32 +0,0 @@
-subroutine prob(m, n)
- implicit none
- integer, intent(in) :: m
- integer, intent(out) :: n
- integer, save :: saved = 10
- target :: saved
- integer, pointer :: p_saved
- integer, parameter :: ROWS = 5, COLS = 7
- real :: matrix(ROWS, COLS)
- p_saved => saved
- call new_procedure(COLS, ROWS, m, matrix, n, saved)
- print *, n, m, saved, p_saved
-end subroutine
-
-subroutine new_procedure(COLS, ROWS, m, matrix, n, saved)
- implicit none
- integer :: COLS
- integer :: ROWS
- integer, intent(in) :: m
- real :: matrix(ROWS, COLS)
- integer, intent(out) :: n
- integer, target :: saved
- matrix(:, :) = 0.0 !<<<<<START
- n = 5 * m
- saved = 2
- !p_saved => saved
- !p_saved = p_saved + 1
- print *, n, m, saved !<<<<<END
-end subroutine
-
-
-program main; call prob(3, n); call prob(3, n); print *, n; call flush; stop; end program
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-single-loop.f90 b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-single-loop.f90
deleted file mode 100644
index f448f4d..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-single-loop.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-subroutine main()
- integer :: i, j
- integer :: k, z
-
- !<<<<<START
- do j = 1, 10
- print *, i
- if (i .gt. j) then
- print *, i * 10
- end if
- print *, i
- end do
- !<<<<<END
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-single-loop.f90.result b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-single-loop.f90.result
deleted file mode 100644
index f448f4d..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-single-loop.f90.result
+++ /dev/null
@@ -1,15 +0,0 @@
-subroutine main()
- integer :: i, j
- integer :: k, z
-
- !<<<<<START
- do j = 1, 10
- print *, i
- if (i .gt. j) then
- print *, i * 10
- end if
- print *, i
- end do
- !<<<<<END
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop.f90 b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop.f90
deleted file mode 100644
index 9ab02ec..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-subroutine main()
- integer :: i, j
- integer :: k, z
-
-
- do j = 1, 10
- !<<<<<START
- do i = 1, 10
- do k = 2, 20
- print *, i
- if (i .gt. j) then
- print *, i * 10
- end if
- print *, i
- end do
- end do
- !<<<<<END
- end do
-
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop.f90.result b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop.f90.result
deleted file mode 100644
index 9b3327b..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-subroutine main()
- integer :: i, j
- integer :: k, z
-
-
- do j = 1, 10
- !<<<<<START
- do k = 2, 20
- do i = 1, 10
- print *, i
- if (i .gt. j) then
- print *, i * 10
- end if
- print *, i
- end do
- end do
- !<<<<<END
- end do
-
-
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop2.f90 b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop2.f90
deleted file mode 100644
index 725388d..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop2.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-subroutine main()
- integer :: i, j
- integer :: k, z
-
- !<<<<<START
- do i = 1, 10
- do j = 1, 15
- do k = 1,20
- print *, i
- if (i .gt. j) then
- print *, i * 10
- end if
- print *, i
- end do
- end do
- end do
- !<<<<<END
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop2.f90.result b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop2.f90.result
deleted file mode 100644
index c2e075d..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test-triple-loop2.f90.result
+++ /dev/null
@@ -1,19 +0,0 @@
-subroutine main()
- integer :: i, j
- integer :: k, z
-
- !<<<<<START
- do j = 1, 15
- do i = 1, 10
- do k = 1,20
- print *, i
- if (i .gt. j) then
- print *, i * 10
- end if
- print *, i
- end do
- end do
- end do
- !<<<<<END
-
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test01-simple.f90 b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test01-simple.f90
deleted file mode 100644
index f4875b5..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test01-simple.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-subroutine main()
- integer :: i, j
-
- !<<<<<START
- do j = 1, 10
- do i = 1, 10
- print *, i+j
- end do
- end do
- !<<<<<END
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test01-simple.f90.result b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test01-simple.f90.result
deleted file mode 100644
index 270a214..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test01-simple.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-subroutine main()
- integer :: i, j
-
- !<<<<<START
- do i = 1, 10
- do j = 1, 10
- print *, i+j
- end do
- end do
- !<<<<<END
-
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test02-simple.f90 b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test02-simple.f90
deleted file mode 100644
index f0a42d0..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test02-simple.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-subroutine main()
- integer :: i, j
- integer :: k, z
-
- !<<<<<START
- do j = 1, 10
- do i = 2, 15
- print *, i
- if (i .gt. j) then
- print *, i * 10
- end if
- print *, i
- end do
- end do
- !<<<<<END
-
-end subroutine
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test02-simple.f90.result b/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test02-simple.f90.result
deleted file mode 100644
index 3dd64d3..0000000
--- a/org.eclipse.photran.core.vpg.tests/interchange-loops-test-code/test02-simple.f90.result
+++ /dev/null
@@ -1,17 +0,0 @@
-subroutine main()
- integer :: i, j
- integer :: k, z
-
- !<<<<<START
- do i = 2, 15
- do j = 1, 10
- print *, i
- if (i .gt. j) then
- print *, i * 10
- end if
- print *, i
- end do
- end do
- !<<<<<END
-
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/interface-test-code/definition1.f90 b/org.eclipse.photran.core.vpg.tests/interface-test-code/definition1.f90
deleted file mode 100644
index 26fbfbf..0000000
--- a/org.eclipse.photran.core.vpg.tests/interface-test-code/definition1.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-integer function f() ! 1,18
- f = 1
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/interface-test-code/definition2.f90 b/org.eclipse.photran.core.vpg.tests/interface-test-code/definition2.f90
deleted file mode 100644
index 4fd6bcd..0000000
--- a/org.eclipse.photran.core.vpg.tests/interface-test-code/definition2.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-integer function f() ! 1,18
- f = 2
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/interface-test-code/interface1.f90 b/org.eclipse.photran.core.vpg.tests/interface-test-code/interface1.f90
deleted file mode 100644
index 4eb5aeb..0000000
--- a/org.eclipse.photran.core.vpg.tests/interface-test-code/interface1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-interface
- integer function f() ! 2,20
- end function
-end interface
-
-contains
-
- subroutine s1(f)
- interface
- integer function f() ! 10,14 Subroutine parameter -- should not bind
- end function
- end interface
- end subroutine
-
- subroutine s2
- interface
- integer function f() ! 17,24
- end function
- end interface
- end subroutine
-
-end program
-
-integer function f() ! 24,18
- f = 0
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/interface-test-code/interface2.f90 b/org.eclipse.photran.core.vpg.tests/interface-test-code/interface2.f90
deleted file mode 100644
index 039ce2e..0000000
--- a/org.eclipse.photran.core.vpg.tests/interface-test-code/interface2.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-interface
- integer function f() ! 2,20
- end function
-end interface
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bigexpression.f90 b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bigexpression.f90
deleted file mode 100644
index 6de8cd0..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bigexpression.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program p
- integer :: hello
- intrinsic flush
- call s
- call flush; stop
-contains
- subroutine s
- parameter (THREE = 3)
- print *, THREE + 2 + 63 * twice(4)
- end subroutine
-
- integer function twice(n)
- intent(in) :: n
- twice = 2 * n
- end function
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bigexpression.f90.result b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bigexpression.f90.result
deleted file mode 100644
index ebaadb0..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bigexpression.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-program p
- implicit none
- integer :: hello
- intrinsic flush
- call s
- call flush; stop
-contains
- subroutine s
- implicit none
- real :: three
- parameter (THREE = 3)
- print *, THREE + 2 + 63 * twice(4)
- end subroutine
-
- integer function twice(n)
- implicit none
- integer :: n
- intent(in) :: n
- twice = 2 * n
- end function
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bug206386.f90 b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bug206386.f90
deleted file mode 100644
index 830a8ce..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bug206386.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program hello
- intrinsic flush
- integer :: i = 2, j = 2, mySillyVariable = 5
- print *, i, j, MYsIlLyVaRiAbLe
- CALL wORTHLESSfUNCTION(i+1,j+1,MySillyVariable)
- print *, i, j, mYsILLYvARIABLE
- call flush; stop
-
- contains
- subroutine WorthlessFunction(i,j,mySillyVariable)
- intent(IN) :: i, j
- intent(OUT) :: mySillyVariable
-
- mySillyVariable = i + j
- end subroutine WorthlessFunction
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bug206386.f90.result b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bug206386.f90.result
deleted file mode 100644
index f7e4d56..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/bug206386.f90.result
+++ /dev/null
@@ -1,21 +0,0 @@
-program hello
- implicit none
- intrinsic flush
- integer :: i = 2, j = 2, mySillyVariable = 5
- print *, i, j, MYsIlLyVaRiAbLe
- CALL wORTHLESSfUNCTION(i+1,j+1,MySillyVariable)
- print *, i, j, mYsILLYvARIABLE
- call flush; stop
-
- contains
- subroutine WorthlessFunction(i,j,mySillyVariable)
- implicit none
- integer :: i
- integer :: j
- integer :: mySillyVariable
- intent(IN) :: i, j
- intent(OUT) :: mySillyVariable
-
- mySillyVariable = i + j
- end subroutine WorthlessFunction
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/crazyimplicits.f90 b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/crazyimplicits.f90
deleted file mode 100644
index 3d850c4..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/crazyimplicits.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program p
- intrinsic flush
- type t
- integer n
- end type
- type(t) u
-
- a = 1
- d = 1
- u = t(5)
- call s
- print *, a, d, u
- call flush; stop
-contains
- subroutine s
- implicit integer (a-c,g), real (d-e), type(t) (f), complex (h)
-
- a = 3
- b = 3
- c = 3
- d = 3.0
- e = 3.0
- f%n = 3
- g = 3
- h = (3, 4)
- end subroutine
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/crazyimplicits.f90.result b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/crazyimplicits.f90.result
deleted file mode 100644
index 79616f7..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/crazyimplicits.f90.result
+++ /dev/null
@@ -1,36 +0,0 @@
-program p
- implicit none
- real :: a
- real :: d
- intrinsic flush
- type t
- integer n
- end type
- type(t) u
-
- a = 1
- d = 1
- u = t(5)
- call s
- print *, a, d, u
- call flush; stop
-contains
- subroutine s
- implicit none
- integer :: b
- integer :: c
- real :: e
- type(t) :: f
- integer :: g
- complex :: h
-
- a = 3
- b = 3
- c = 3
- d = 3.0
- e = 3.0
- f%n = 3
- g = 3
- h = (3, 4)
- end subroutine
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/fortran.f90 b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/fortran.f90
deleted file mode 100644
index e8444d3..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/fortran.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-program functioncalling
- intrinsic flush
- print *, 'This is the Fortran program; I am going to call some functions now...'
- call sum(1.0,2.0,3.0)
- call factorial(3)
- print *, 'Done'
- call flush; stop
-
-contains
-
- subroutine sum(x,y,z)
-
-
- !x = x+y+z ! gfortran 4.4.0 on Mac OS X 10.5.7 gives "Bus error"
- print *, x
- end subroutine sum
-
- subroutine factorial(j)
- p=1
- i=1
- do i=1,j
- p=p*i
- end do
-
- print *, j, "! = ", p
- end subroutine factorial
-
- subroutine sum2(x,y)
- implicit none
- real :: p
- integer :: x, y
- p = x+y
- end subroutine sum2
-end
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/fortran.f90.result b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/fortran.f90.result
deleted file mode 100644
index 8f975c3..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/fortran.f90.result
+++ /dev/null
@@ -1,43 +0,0 @@
-program functioncalling
- implicit none
- intrinsic flush
- print *, 'This is the Fortran program; I am going to call some functions now...'
- call sum(1.0,2.0,3.0)
- call factorial(3)
- print *, 'Done'
- call flush; stop
-
-contains
-
- subroutine sum(x,y,z)
- implicit none
- real :: x
- real :: y
- real :: z
-
-
- !x = x+y+z ! gfortran 4.4.0 on Mac OS X 10.5.7 gives "Bus error"
- print *, x
- end subroutine sum
-
- subroutine factorial(j)
- implicit none
- integer :: i
- integer :: j
- real :: p
- p=1
- i=1
- do i=1,j
- p=p*i
- end do
-
- print *, j, "! = ", p
- end subroutine factorial
-
- subroutine sum2(x,y)
- implicit none
- real :: p
- integer :: x, y
- p = x+y
- end subroutine sum2
-end
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/implicit-subprog.f90 b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/implicit-subprog.f90
deleted file mode 100644
index 8c03502..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/implicit-subprog.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-some_variable = 3.0
-call some_subprogram
-end
diff --git a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/implicit-subprog.f90.result b/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/implicit-subprog.f90.result
deleted file mode 100644
index eeebf87..0000000
--- a/org.eclipse.photran.core.vpg.tests/intro-implicit-test-code/implicit-subprog.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-implicit none
-real :: some_variable
-some_variable = 3.0
-call some_subprogram
-end
diff --git a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/01-simple.f90 b/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/01-simple.f90
deleted file mode 100644
index 8e961f4..0000000
--- a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/01-simple.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests
-program program
- implicit none
-! Don't forget about comments
- ! That would be bad
-print *, "Hello" !<<<<<START !<<<<<END
- stop
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/01-simple.f90.result b/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/01-simple.f90.result
deleted file mode 100644
index dc75f68..0000000
--- a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/01-simple.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests
-PROGRAM program
- IMPLICIT NONE
-! Don't forget about comments
- ! That would be bad
-PRINT *, "Hello" !<<<<<START !<<<<<END
- STOP
-END PROGRAM program
diff --git a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/02-end-after.f90 b/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/02-end-after.f90
deleted file mode 100644
index 5d723c0..0000000
--- a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/02-end-after.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests
-program program
-implicit none
-print *, "Hello" !<<<<<START !<<<<<END
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/02-end-after.f90.result b/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/02-end-after.f90.result
deleted file mode 100644
index 3894c1d..0000000
--- a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/02-end-after.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests
-PROGRAM program
-IMPLICIT NONE
-PRINT *, "Hello" !<<<<<START !<<<<<END
-END PROGRAM program
diff --git a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/03-blank-after.f90 b/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/03-blank-after.f90
deleted file mode 100644
index 539e912..0000000
--- a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/03-blank-after.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests
-subroutine s !<<<<<START
-print *, 'Yip'
-end subroutine !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/03-blank-after.f90.result b/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/03-blank-after.f90.result
deleted file mode 100644
index 6e9d000..0000000
--- a/org.eclipse.photran.core.vpg.tests/keyword-case-test-code/03-blank-after.f90.result
+++ /dev/null
@@ -1,4 +0,0 @@
-! Taken from reindenter-test-code in org.eclipse.photran.core.vpg.tests
-SUBROUTINE s !<<<<<START
-PRINT *, 'Yip'
-END SUBROUTINE !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common1.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common1.f90
deleted file mode 100644
index 7ea4663..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common1.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program common1
-!use common2
-!use common3
-!use common4
-implicit none
-
-common /block/ a, b, c, /mem/ r, f, t
-integer :: a
-real :: b
-double precision :: c
-
-integer :: r, f, t
-
-a = 5
-b = 4.6
-c = 2.345
-
-call helper
-end program common1
-
-subroutine helper
-implicit none
-common /block/ e, f, g
-integer :: e
-real :: f
-double precision :: g
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common1.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common1.f90.result
deleted file mode 100644
index 2f12170..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common1.f90.result
+++ /dev/null
@@ -1,27 +0,0 @@
-program common1
-!use common2
-!use common3
-!use common4
-implicit none
-
-common /block/ a_common, b_common, c_common, /mem/ r, f, t
-integer :: a_common
-real :: b_common
-double precision :: c_common
-
-integer :: r, f, t
-
-a_common = 5
-b_common = 4.6
-c_common = 2.345
-
-call helper
-end program common1
-
-subroutine helper
-implicit none
-common /block/ a_common, b_common, c_common
-integer :: a_common
-real :: b_common
-double precision :: c_common
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common2.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common2.f90
deleted file mode 100644
index dfbe524..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common2.f90
+++ /dev/null
@@ -1,11 +0,0 @@
-module common2
- implicit none
-
- contains
- subroutine help_common2
- common /block/ d, e, f
- integer :: d
- real :: e
- double precision :: f
- end subroutine help_common2
-end module common2
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common2.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common2.f90.result
deleted file mode 100644
index 1ecb2bc..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common2.f90.result
+++ /dev/null
@@ -1,11 +0,0 @@
-module common2
- implicit none
-
- contains
- subroutine help_common2
- common /block/ a_common, b_common, c_common
- integer :: a_common
- real :: b_common
- double precision :: c_common
- end subroutine help_common2
-end module common2
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common3.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common3.f90
deleted file mode 100644
index 529bbee..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common3.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-module common3
- implicit none
-
- contains
- subroutine help_common3
- common /block/ r, s, t
- integer :: r
- real :: s
- double precision :: t
-
- common /mem/ a, b, c
- integer :: a, b, c
- end subroutine help_common3
-end module common3
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common3.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common3.f90.result
deleted file mode 100644
index 86dfe27..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common3.f90.result
+++ /dev/null
@@ -1,14 +0,0 @@
-module common3
- implicit none
-
- contains
- subroutine help_common3
- common /block/ a_common, b_common, c_common
- integer :: a_common
- real :: b_common
- double precision :: c_common
-
- common /mem/ a, b, c
- integer :: a, b, c
- end subroutine help_common3
-end module common3
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common4.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common4.f90
deleted file mode 100644
index 393355c..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common4.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-module common4
- implicit none
-
- contains
- subroutine help_common4
- common /mem/ a, b, c
- integer :: a, b, c
- end subroutine help_common4
-end module common4
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common4.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common4.f90.result
deleted file mode 100644
index 393355c..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/common4.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-module common4
- implicit none
-
- contains
- subroutine help_common4
- common /mem/ a, b, c
- integer :: a, b, c
- end subroutine help_common4
-end module common4
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons1.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons1.f90
deleted file mode 100644
index 03c6740..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons1.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program common1
- common /block/ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, &
- a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1
-end program common1
-
-subroutine s
- common /block/ i, j
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons1.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons1.f90.result
deleted file mode 100644
index e25b7ba..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons1.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-program common1
- common /block/ i_common, j_common, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, &
- a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1
-end program common1
-
-subroutine s
- common /block/ i_common, j_common
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons2.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons2.f90
deleted file mode 100644
index 03c6740..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons2.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program common1
- common /block/ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, &
- a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1
-end program common1
-
-subroutine s
- common /block/ i, j
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons2.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons2.f90.result
deleted file mode 100644
index ac02c62..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/justCommons2.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-program common1
- common /block/ a_common, b_common, c_common, d_common, e_common, f_common, g_common, h_common, i_common, j_common, k_common, l_common, m_common, n_common, o_common, p_common, q_common, r_common, s_common, t_common, u_common, v_common, w_common, x_common, y_common, z_common, &
- a1_common, b1_common, c1_common, d1_common, e1_common, f1_common, g1_common, h1_common, i1_common, j1_common, k1_common, l1_common, m1_common, n1_common, o1_common, p1_common, q1_common, r1_common, s1_common, t1_common, u1_common, v1_common, w1_common, x1_common, y1_common, z1_common
-end program common1
-
-subroutine s_common
- common /block/ a_common, b_common
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv1.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv1.f90
deleted file mode 100644
index 728b496..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv1.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program namesProv
- implicit none
- common /names/ a, b, c
- integer :: a, b, c
-
- print *, "Test the test case program with given names"
-end program namesProv
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv1.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv1.f90.result
deleted file mode 100644
index b2635be..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv1.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program namesProv
- implicit none
- common /names/ a_hello, b_hello, c_hello
- integer :: a_hello, b_hello, c_hello
-
- print *, "Test the test case program with given names"
-end program namesProv
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv2.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv2.f90
deleted file mode 100644
index 9fe1e93..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv2.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program namesProv2
- implicit none
- common /names/ q, w, e
- integer q, w, e
-
- q = 2
- w = 4
- e = q + w
-end program namesProv2
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv2.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv2.f90.result
deleted file mode 100644
index 089764f..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/namesProv2.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-program namesProv2
- implicit none
- common /names/ a_hello, b_hello, c_hello
- integer a_hello, b_hello, c_hello
-
- a_hello = 2
- b_hello = 4
- c_hello = a_hello + b_hello
-end program namesProv2
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName1.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName1.f90
deleted file mode 100644
index 728b496..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName1.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program namesProv
- implicit none
- common /names/ a, b, c
- integer :: a, b, c
-
- print *, "Test the test case program with given names"
-end program namesProv
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName1.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName1.f90.result
deleted file mode 100644
index 96f3687..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName1.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program namesProv
- implicit none
- common /names/ a, b, this_is_renamed
- integer :: a, b, this_is_renamed
-
- print *, "Test the test case program with given names"
-end program namesProv
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName2.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName2.f90
deleted file mode 100644
index 9fe1e93..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName2.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-program namesProv2
- implicit none
- common /names/ q, w, e
- integer q, w, e
-
- q = 2
- w = 4
- e = q + w
-end program namesProv2
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName2.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName2.f90.result
deleted file mode 100644
index df70d2a..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/sameName2.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-program namesProv2
- implicit none
- common /names/ a, b, this_is_renamed
- integer a, b, this_is_renamed
-
- a = 2
- b = 4
- this_is_renamed = a + b
-end program namesProv2
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short1.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short1.f90
deleted file mode 100644
index 997b2f6..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1
- implicit none
-
- common /block/ a, b, c
- integer :: a
- real :: b
- double precision :: c
-
- a = 5
- b = 4.6
- c = 2.345
- print *, a, b, c
-
- call helper
- print *, a, b, c
-end program common1
-
-subroutine helper
- implicit none
- common /block/ e, f
- integer :: e
- real :: f
-
- e = 50
- f = 40.6
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short1.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short1.f90.result
deleted file mode 100644
index d3eb58b..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short1.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1
- implicit none
-
- common /block/ aaa, bbb, ccc
- integer :: aaa
- real :: bbb
- double precision :: ccc
-
- aaa = 5
- bbb = 4.6
- ccc = 2.345
- print *, aaa, bbb, ccc
-
- call helper
- print *, aaa, bbb, ccc
-end program common1
-
-subroutine helper
- implicit none
- common /block/ aaa, bbb
- integer :: aaa
- real :: bbb
-
- aaa = 50
- bbb = 40.6
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short2.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short2.f90
deleted file mode 100644
index 997b2f6..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short2.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1
- implicit none
-
- common /block/ a, b, c
- integer :: a
- real :: b
- double precision :: c
-
- a = 5
- b = 4.6
- c = 2.345
- print *, a, b, c
-
- call helper
- print *, a, b, c
-end program common1
-
-subroutine helper
- implicit none
- common /block/ e, f
- integer :: e
- real :: f
-
- e = 50
- f = 40.6
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short2.f90.result b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short2.f90.result
deleted file mode 100644
index aec64bd..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/short2.f90.result
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1
- implicit none
-
- common /block/ aaa, bbb, c
- integer :: aaa
- real :: bbb
- double precision :: c
-
- aaa = 5
- bbb = 4.6
- c = 2.345
- print *, aaa, bbb, c
-
- call helper
- print *, aaa, bbb, c
-end program common1
-
-subroutine helper
- implicit none
- common /block/ aaa, bbb
- integer :: aaa
- real :: bbb
-
- aaa = 50
- bbb = 40.6
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/typesDiffer1.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/typesDiffer1.f90
deleted file mode 100644
index 42a081b..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/typesDiffer1.f90
+++ /dev/null
@@ -1,26 +0,0 @@
-program common1
- implicit none
-
- common /block/ a, b, c
- integer :: a
- real :: b
- double precision :: c
-
- a = 5
- b = 4.6
- c = 2.345
- print *, a, b, c
-
- call helper
- print *, a, b, c
-end program common1
-
-subroutine helper
- implicit none
- common /block/ e, f
- integer :: e
- double precision :: f ! type differs
-
- e = 50
- f = 40.6
-end subroutine helper
diff --git a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/typesDiffer2.f90 b/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/typesDiffer2.f90
deleted file mode 100644
index 3befc00..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-common-var-names-consist-test-code/typesDiffer2.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program differ
- common /block/ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, &
- a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1
- integer a, b
- end program differ
-
-subroutine s
- common /block/ i, j
- real i, j
-end subroutine
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/main.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/main.f90
deleted file mode 100644
index e430664..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/main.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-module module1
- implicit none
- private
-contains
- ! sub1a cannot be made public w/o ONLY clause in main
- subroutine sub1a
- print *, "sub1a in module1"
- end subroutine
- ! sub1b can be made public
- subroutine sub1b
- print *, "sub1b in module1"
- end subroutine
-end module module1
-
-module module2
- implicit none
- ! integer1 and integer3 cannot be made public w/o ONLY clause
- ! integer2 and integer4 can be made public
- integer, private :: integer1, integer2
- integer :: integer3, integer4
- private :: integer4, integer3
-end module
-
-program main
- use module1
- use module2
- implicit none
- integer :: integer1, integer3
- call sub1a ! local, not import
-contains
- subroutine sub1a
- print *, "sub1a in main program"
- end subroutine
-end program main
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv1.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv1.f90
deleted file mode 100644
index e5f415a..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv1.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program priv1
- implicit none
- integer a, b, c
- private a, c
-end program priv1
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv1.f90.result b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv1.f90.result
deleted file mode 100644
index 575db5e..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv1.f90.result
+++ /dev/null
@@ -1,6 +0,0 @@
-program priv1
- implicit none
- integer a, b, c
- private c
- public a
-end program priv1
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv2.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv2.f90
deleted file mode 100644
index ece640a..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv2.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program priv2
- implicit none
- double precision f
- real q
- private f
- public q
-end program priv2
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv2.f90.result b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv2.f90.result
deleted file mode 100644
index 813a5ed..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/priv2.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program priv2
- implicit none
- double precision f
- real q
- public f
- public q
-end program priv2
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test12.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test12.f90
deleted file mode 100644
index f3aa5be..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test12.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program test
- implicit none
- private
- real, optional :: blah, hi
-contains
- subroutine helpMe
- end subroutine
-end program test
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test12.f90.result b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test12.f90.result
deleted file mode 100644
index 78f1f4e..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test12.f90.result
+++ /dev/null
@@ -1,9 +0,0 @@
-program test
- implicit none
- private
- public helpMe
- real, optional :: blah, hi
-contains
- subroutine helpMe
- end subroutine
-end program test
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test13.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test13.f90
deleted file mode 100644
index 906a55e..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test13.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-program private
- implicit none
- real, private :: blah
- integer, private, optional :: priv, blah
- real :: hi
- private :: hi
-
- intrinsic hello
- external goodbye
- private hello
-contains
- subroutine hello
- private
- end subroutine
-
- function FFF()
- end function
-end program private
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test3.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test3.f90
deleted file mode 100644
index e212ab9..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test3.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program test3
- implicit none
- integer, private :: var
-end program test3
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test3.f90.result b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test3.f90.result
deleted file mode 100644
index 6b84710..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test3.f90.result
+++ /dev/null
@@ -1,4 +0,0 @@
-program test3
- implicit none
- integer,public :: var
-end program test3
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test4.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test4.f90
deleted file mode 100644
index c6c7be3..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test4.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program test4
- implicit none
- real, private :: blah, hi
-end program test4
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test4.f90.result b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test4.f90.result
deleted file mode 100644
index 9125dfa..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test4.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-program test4
- implicit none
- real, private :: hi
- real, public :: blah
-end program test4
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test5.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test5.f90
deleted file mode 100644
index 0bc997b..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test5.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program test5
- implicit none
- integer, private, optional :: attrs
-end program test5
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test5.f90.result b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test5.f90.result
deleted file mode 100644
index d6158c2..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test5.f90.result
+++ /dev/null
@@ -1,4 +0,0 @@
-program test5
- implicit none
- integer,public, optional :: attrs
-end program test5
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test6.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test6.f90
deleted file mode 100644
index 969da0b..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test6.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program test6
- implicit none
- integer, private, optional :: attrs, blah
-end program test6
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test6.f90.result b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test6.f90.result
deleted file mode 100644
index 7476ae0..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test6.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-program test6
- implicit none
- integer, private, optional :: attrs
- integer, public, optional :: blah
-end program test6
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7.f90
deleted file mode 100644
index 2b041ac..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program test7
- implicit none
- private
- real :: r
- integer five
- real, optional :: blah
-end program test7
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7.f90.result b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7.f90.result
deleted file mode 100644
index 9a2f528..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program test7
- implicit none
- private
- real :: r
- integer five
- real, public, optional :: blah
-end program test7
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7_1.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7_1.f90
deleted file mode 100644
index 063ed82..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7_1.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program test7_1
- implicit none
- private
- real :: r
- integer five
- real, optional :: blah, ok
-end program test7_1
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7_1.f90.result b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7_1.f90.result
deleted file mode 100644
index 1924a44..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/test7_1.f90.result
+++ /dev/null
@@ -1,8 +0,0 @@
-program test7_1
- implicit none
- private
- real :: r
- integer five
- real, optional :: ok
- real, public, optional :: blah
-end program test7_1
diff --git a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/testFile1.f90 b/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/testFile1.f90
deleted file mode 100644
index 59475f6..0000000
--- a/org.eclipse.photran.core.vpg.tests/make-private-entity-public-test-code/testFile1.f90
+++ /dev/null
@@ -1,13 +0,0 @@
-program testFile
- real a, b
- double precision dd
- integer g
- public a, b
- private dd
-end program testFile
-
-subroutine help
- integer q, w, e
- public q, w
- private e
-end subroutine help
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/module.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/module.f90
deleted file mode 100644
index 2d8c83a..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/module.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-module module
- implicit none
- integer :: i
-contains
- subroutine helper
- print *, "You've been helped."
- end subroutine helper
-end module module
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program1.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program1.f90
deleted file mode 100644
index 038dac2..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program1.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module m
- integer :: used, unused
-end module
-
-program modules
- use m
- implicit none
-
- used = 3
-end program modules
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program1.f90.result b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program1.f90.result
deleted file mode 100644
index 061676b..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program1.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-module m
- integer :: used, unused
-end module
-
-program modules
- use m, only: used
- implicit none
-
- used = 3
-end program modules
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program2.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program2.f90
deleted file mode 100644
index 834f6a3..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program2.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module m
- integer :: used, unused
-end module
-
-program modules
- use m, only: used, unused
- implicit none
-
- used = 3
-end program modules
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program2.f90.result b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program2.f90.result
deleted file mode 100644
index 061676b..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program2.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-module m
- integer :: used, unused
-end module
-
-program modules
- use m, only: used
- implicit none
-
- used = 3
-end program modules
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program3.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program3.f90
deleted file mode 100644
index 13b146e..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program3.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-module m
- integer :: used, unused
-end module
-
-program modules
- use m, only: whatever => used, unused
- implicit none
-
- whatever = 3
-end program modules
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program3.f90.result b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program3.f90.result
deleted file mode 100644
index 2d6dab5..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/program3.f90.result
+++ /dev/null
@@ -1,10 +0,0 @@
-module m
- integer :: used, unused
-end module
-
-program modules
- use m, only: whatever => used
- implicit none
-
- whatever = 3
-end program modules
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test1.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test1.f90
deleted file mode 100644
index cfe4c26..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test1.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-program test
- use module, only: i, helper
- implicit none
- i = 5
- call helper
-end program test
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test1.f90.result b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test1.f90.result
deleted file mode 100644
index cf5c012..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test1.f90.result
+++ /dev/null
@@ -1,6 +0,0 @@
-program test
- use module
- implicit none
- i = 5
- call helper
-end program test
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test2.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test2.f90
deleted file mode 100644
index 7413856..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test2.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program test2
- use module, only: i, helper
- implicit none
- call helper
-end program test2
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test2.f90.result b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test2.f90.result
deleted file mode 100644
index 1caf92c..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test2.f90.result
+++ /dev/null
@@ -1,5 +0,0 @@
-program test2
- use module, only: helper
- implicit none
- call helper
-end program test2
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test3.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test3.f90
deleted file mode 100644
index 4b464e2..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test3.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program test3
- use module, only: i, helper
- implicit none
-end program test3
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test3.f90.result b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test3.f90.result
deleted file mode 100644
index 297f3b4..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test3.f90.result
+++ /dev/null
@@ -1,3 +0,0 @@
-program test3
- implicit none
-end program test3
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test4_5.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test4_5.f90
deleted file mode 100644
index 1396619..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test4_5.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program test
- use module, only: i, helper
- use emptyModule, only: help
- implicit none
-end program test
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test6.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test6.f90
deleted file mode 100644
index f583515..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test6.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program test
- use module, only: i, helper
- use nonexistant, only: what
- implicit none
-end program test
diff --git a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test7.f90 b/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test7.f90
deleted file mode 100644
index 8079ac5..0000000
--- a/org.eclipse.photran.core.vpg.tests/min-only-list-test-code/test7.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program test
- use module, only: i, helper
- implicit none
- integer :: q
-end program test
diff --git a/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test1.f90 b/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test1.f90
deleted file mode 100644
index ec19e4c..0000000
--- a/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test1.f90
+++ /dev/null
@@ -1,96 +0,0 @@
-MODULE MySeparateFileMod
-
-END MODULE
-
-PROGRAM MyMain
-
- USE MySeparateFileMod
-
- COMMON /MyTestFun_common1/ aVar
-
- REAL :: a_xxx1
-
- REAL :: comVar
-
- REAL :: aVar
-
- COMMON /CB1/ comVar
-
- print *, test
-
- print *, internalModVar
-
- CALL MySeparateSub
-
- comVar = 5.5
-
- CONTAINS
-
- REAL FUNCTION MyTestFun()
-
- REAL :: com
-
- COMMON /MyTestFun_common2/ com
-
- REAL :: q = 3.3, w, e = 5.5
-
- REAL, DIMENSION(5) :: r, t
-
- REAL, SAVE :: u = 1.1
-
- REAL, SAVE :: o
-
- REAL, POINTER :: p
-
- POINTER o, p
-
- POINTER o, p
-
- REAL :: b, c, d
-
- REAL, POINTER :: a
-
- POINTER c, d
-
- SAVE a, r, p, b, c
-
- DIMENSION b(10)
-
- c = 1.2
-
- MyTestFun = 3.3
-
- END FUNCTION MyTestFun
-
- REAL FUNCTION MyTestFun2(aVar)
-
- REAL, DIMENSION (10:10) :: aVar
-
- CHARACTER (LEN=30) :: char
-
- REAL :: bVar(100:100)
-
- DOUBLE PRECISION :: cVar(10)
-
- REAL, PARAMETER :: b = 1.1
-
- REAL c
-
- POINTER c
-
- SAVE
-
- END FUNCTION MyTestFun2
-
-END PROGRAM MyMain
-
-SUBROUTINE MySub
-
- REAL :: test
- COMMON /CB1/ comVar
-
- test = 1.1
-
- comVar = comVar + comVar
-
-END SUBROUTINE MySub
diff --git a/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test1.f90.result b/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test1.f90.result
deleted file mode 100644
index 4884a49..0000000
--- a/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test1.f90.result
+++ /dev/null
@@ -1,116 +0,0 @@
-MODULE MySeparateFileMod
-
-END MODULE
-
-PROGRAM MyMain
-
- USE MySeparateFileMod
-
- REAL, POINTER :: a_xxx2
-
- REAL, DIMENSION(10) :: b_xxx1
-
- REAL, POINTER :: c_xxx1
-
- REAL :: e_xxx1 = 5.5
-
- REAL, POINTER :: o_xxx1
-
- REAL, POINTER :: p_xxx1
-
- REAL :: q_xxx1 = 3.3
-
- REAL, DIMENSION(5) :: r_xxx1
-
- REAL :: u_xxx1 = 1.1
-
- COMMON /MyTestFun_common3/ a_xxx2,b_xxx1,c_xxx1,e_xxx1,o_xxx1,p_xxx1,q_xxx1,r_xxx1,u_xxx1
-
- COMMON /MyTestFun_common1/ aVar
-
- REAL :: a_xxx1
-
- REAL :: comVar
-
- REAL :: aVar
-
- COMMON /CB1/ comVar
-
- print *, test
-
- print *, internalModVar
-
- CALL MySeparateSub
-
- comVar = 5.5
-
- CONTAINS
-
- REAL FUNCTION MyTestFun()
-
- COMMON /MyTestFun_common3/ a_xxx2,b_xxx1,c_xxx1,e_xxx1,o_xxx1,p_xxx1,q_xxx1,r_xxx1,u_xxx1
-
- REAL :: com
-
- COMMON /MyTestFun_common2/ com
-
- REAL :: q_xxx1, w, e_xxx1
-
- REAL, DIMENSION(5) :: r_xxx1, t
-
- REAL :: u_xxx1
-
- REAL :: o_xxx1
-
- REAL, POINTER :: p_xxx1
-
- POINTER o_xxx1, p_xxx1
-
- POINTER o_xxx1, p_xxx1
-
- REAL :: b_xxx1, c_xxx1, d
-
- REAL, POINTER :: a_xxx2
-
- POINTER c_xxx1, d
-
- DIMENSION b_xxx1(10)
-
- c_xxx1 = 1.2
-
- MyTestFun = 3.3
-
- END FUNCTION MyTestFun
-
- REAL FUNCTION MyTestFun2(aVar)
-
- REAL, DIMENSION (10:10) :: aVar
-
- CHARACTER (LEN=30) :: char
-
- REAL :: bVar(100:100)
-
- DOUBLE PRECISION :: cVar(10)
-
- REAL, PARAMETER :: b = 1.1
-
- REAL c
-
- POINTER c
-
- SAVE
-
- END FUNCTION MyTestFun2
-
-END PROGRAM MyMain
-
-SUBROUTINE MySub
-
- REAL :: test
- COMMON /CB1/ comVar
-
- test = 1.1
-
- comVar = comVar + comVar
-
-END SUBROUTINE MySub
diff --git a/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test2.f90 b/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test2.f90
deleted file mode 100644
index ec19e4c..0000000
--- a/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test2.f90
+++ /dev/null
@@ -1,96 +0,0 @@
-MODULE MySeparateFileMod
-
-END MODULE
-
-PROGRAM MyMain
-
- USE MySeparateFileMod
-
- COMMON /MyTestFun_common1/ aVar
-
- REAL :: a_xxx1
-
- REAL :: comVar
-
- REAL :: aVar
-
- COMMON /CB1/ comVar
-
- print *, test
-
- print *, internalModVar
-
- CALL MySeparateSub
-
- comVar = 5.5
-
- CONTAINS
-
- REAL FUNCTION MyTestFun()
-
- REAL :: com
-
- COMMON /MyTestFun_common2/ com
-
- REAL :: q = 3.3, w, e = 5.5
-
- REAL, DIMENSION(5) :: r, t
-
- REAL, SAVE :: u = 1.1
-
- REAL, SAVE :: o
-
- REAL, POINTER :: p
-
- POINTER o, p
-
- POINTER o, p
-
- REAL :: b, c, d
-
- REAL, POINTER :: a
-
- POINTER c, d
-
- SAVE a, r, p, b, c
-
- DIMENSION b(10)
-
- c = 1.2
-
- MyTestFun = 3.3
-
- END FUNCTION MyTestFun
-
- REAL FUNCTION MyTestFun2(aVar)
-
- REAL, DIMENSION (10:10) :: aVar
-
- CHARACTER (LEN=30) :: char
-
- REAL :: bVar(100:100)
-
- DOUBLE PRECISION :: cVar(10)
-
- REAL, PARAMETER :: b = 1.1
-
- REAL c
-
- POINTER c
-
- SAVE
-
- END FUNCTION MyTestFun2
-
-END PROGRAM MyMain
-
-SUBROUTINE MySub
-
- REAL :: test
- COMMON /CB1/ comVar
-
- test = 1.1
-
- comVar = comVar + comVar
-
-END SUBROUTINE MySub
diff --git a/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test2.f90.result b/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test2.f90.result
deleted file mode 100644
index 62d99a5..0000000
--- a/org.eclipse.photran.core.vpg.tests/move-saved-to-common-block-test-code/test2.f90.result
+++ /dev/null
@@ -1,106 +0,0 @@
-MODULE MySeparateFileMod
-
-END MODULE
-
-PROGRAM MyMain
-
- USE MySeparateFileMod
-
- REAL :: bvar_xxx1(100:100)
-
- REAL, POINTER :: c_xxx1
-
- CHARACTER (LEN=30) :: char_xxx1
-
- DOUBLE PRECISION :: cvar_xxx1(10)
-
- COMMON /MyTestFun2_common1/ bvar_xxx1,c_xxx1,char_xxx1,cvar_xxx1
-
- COMMON /MyTestFun_common1/ aVar
-
- REAL :: a_xxx1
-
- REAL :: comVar
-
- REAL :: aVar
-
- COMMON /CB1/ comVar
-
- print *, test
-
- print *, internalModVar
-
- CALL MySeparateSub
-
- comVar = 5.5
-
- CONTAINS
-
- REAL FUNCTION MyTestFun()
-
- REAL :: com
-
- COMMON /MyTestFun_common2/ com
-
- REAL :: q = 3.3, w, e = 5.5
-
- REAL, DIMENSION(5) :: r, t
-
- REAL, SAVE :: u = 1.1
-
- REAL, SAVE :: o
-
- REAL, POINTER :: p
-
- POINTER o, p
-
- POINTER o, p
-
- REAL :: b, c, d
-
- REAL, POINTER :: a
-
- POINTER c, d
-
- SAVE a, r, p, b, c
-
- DIMENSION b(10)
-
- c = 1.2
-
- MyTestFun = 3.3
-
- END FUNCTION MyTestFun
-
- REAL FUNCTION MyTestFun2(aVar)
-
- COMMON /MyTestFun2_common1/ bvar_xxx1,c_xxx1,char_xxx1,cvar_xxx1
-
- REAL, DIMENSION (10:10) :: aVar
-
- CHARACTER (LEN=30) :: char_xxx1
-
- REAL :: bvar_xxx1(100:100)
-
- DOUBLE PRECISION :: cvar_xxx1(10)
-
- REAL, PARAMETER :: b = 1.1
-
- REAL c_xxx1
-
- POINTER c_xxx1
-
- END FUNCTION MyTestFun2
-
-END PROGRAM MyMain
-
-SUBROUTINE MySub
-
- REAL :: test
- COMMON /CB1/ comVar
-
- test = 1.1
-
- comVar = comVar + comVar
-
-END SUBROUTINE MySub
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/.cvsignore b/org.eclipse.photran.core.vpg.tests/parser-test-code/.cvsignore
deleted file mode 100644
index 0dce739..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/.cvsignore
+++ /dev/null
@@ -1,6 +0,0 @@
-confidential-ibeam-object_cpp
-confidential-walt-fixed
-confidential-walt-orig
-confidential-from_the_www
-confidential-walt-free
-confidential-ibeam-object_cpp_mod
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/fortran2003_tests/fortran2003-syntax.f03 b/org.eclipse.photran.core.vpg.tests/parser-test-code/fortran2003_tests/fortran2003-syntax.f03
deleted file mode 100644
index 405f051..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/fortran2003_tests/fortran2003-syntax.f03
+++ /dev/null
@@ -1,80 +0,0 @@
-! This is syntactically correct but semantically incorrect and meaningless
-program Fortran2003
- import x, y
- import :: z
-
- type, bind(c) :: class
- private
- procedure(), public :: proc_component
- contains
- procedure type_bound_proc1
- procedure, non_overridable :: type_bound_proc3
- procedure type_bound_proc4 => proc
- procedure, non_overridable :: type_bound_proc6 => proc
- end type
-
- enum, bind(c)
- enumerator apple = 3, orange, pear
- enumerator :: grapefruit
- end enum
-
- type(class), asynchronous, bind(c, name='x'), protected, value, volatile, pointer :: t1
- class(class) :: t2
- class(*) :: t3
-
- common /c1/ t1, t2
-
- asynchronous x1, x2
- asynchronous :: x3
- bind(c) x4
- bind(c,name=x) :: x5, /c1/
- protected x6
- protected :: x7, x8
-
- abstract interface
- subroutine s
- end subroutine s
- end interface
-
- procedure() p1
- procedure(integer) p2
- procedure(), pointer :: p3
- procedure(integer), save, optional :: p4, p5 => null(), p6
-
- ! EXECUTION PART
-
- associate (this => 3 + 4, that => 5)
- print *, this
- print *, that
- end associate
-
- select type (renamed => t3)
- type is (class)
- print *, "1"
- class is (class)
- print *, '2'
- class default
- print *, '3'
- if (3 .eq. 4) then
- print *, '?!'
- end if
- do i = 6,8
- print *, ":-)"
- end do
- do 51 i = 6,8
-51 print *, ":-)"
- end select
-
-! if (t1%type_bound_proc1() .eq. 3) print *, "!"
-
- call t2%type_bound_proc4
-
- open (3,action=something,asynchronous='?',decimal='?',encoding='?',iomsg=v,round='?',sign='?')
- decimal=3
- wait (3,id=n,iostat=m)
- close (unit=3,iomsg=v)
-
- use, intrinsic :: some_module
- use :: some_other_module, operator(.x.) => operator(.y.)
- use :: some_third_module, only: operator(.x.) => operator(.y.)
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariable.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariable.f90
deleted file mode 100644
index c8798f9..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariable.f90
+++ /dev/null
@@ -1,14 +0,0 @@
-program TestExtractVariable
-
-contains
-
-subroutine Sub()
- integer :: x
- x = 1
- if(x==1) then
- x=2
- end if
-
-end subroutine Sub
-
-end program TestExtractVariable
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariableAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariableAfter.f90
deleted file mode 100644
index 014e055..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/extractvariable/ExtractVariableAfter.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program TestExtractVariable
-
-contains
-
-subroutine Sub()
- integer :: x
- logical :: y
- x = 1
- y = (x == 1)
- if(y) then
- x=2
- end if
-
-end subroutine Sub
-
-end program TestExtractVariable
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90
deleted file mode 100644
index 7f06a62..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringAfter.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-program Hello
- implicit none
- integer :: i
-
- i = 3
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
- integer :: i
- integer :: x
-
- x = i
- print *, x
-
-end subroutine Sub
-
-
-subroutine SomeSub(y,z)
- real :: y
- real :: z
- real :: x
-
- x = y + z
- y = 22
- z = y + z
- print *, x
-
-end subroutine SomeSub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90
deleted file mode 100644
index 11faff4..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/MainProgramRefactoringBefore.f90
+++ /dev/null
@@ -1,30 +0,0 @@
-program Hello
-
- i = 3
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
- integer :: x
-
- x = i
- print *, x
-
-end subroutine Sub
-
-
-subroutine SomeSub(y,z)
- real :: y
- real :: z
-
- x = y + z
- y = 22
- z = y + z
- print *, x
-
-end subroutine SomeSub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90
deleted file mode 100644
index ada2665..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsAfter.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-program Hello
- integer :: i = 3
-
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
- implicit none
- integer :: i
- real :: x
-
- x = i
- print *, x
-
-end subroutine Sub
-
-
-subroutine SomeSub(y,z)
- implicit none
- real :: y
- real :: z
- real :: x
-
- x = y + z
- y = 22
- z = y + z
- print *, x
-
-end subroutine SomeSub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90
deleted file mode 100644
index 41e5075..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/Subroutine2RefactoringsBefore.f90
+++ /dev/null
@@ -1,27 +0,0 @@
-program Hello
- integer :: i = 3
-
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
-
- x = i
- print *, x
-
-end subroutine Sub
-
-
-subroutine SomeSub(y,z)
-
- x = y + z
- y = 22
- z = y + z
- print *, x
-
-end subroutine SomeSub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90
deleted file mode 100644
index 5c1e049..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringAfter.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello
- integer :: i = 3
-
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
- implicit none
- integer :: i
- real :: x
-
- x = i
- print *, x
-
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90
deleted file mode 100644
index 969f1ab..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineRefactoringBefore.f90
+++ /dev/null
@@ -1,17 +0,0 @@
-program Hello
- integer :: i = 3
-
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
-
- x = i
- print *, x
-
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90
deleted file mode 100644
index a053466..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineThatHasAnImplicitStmt.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello
- integer :: i = 3
-
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
- implicit none
- integer :: i
- real :: x
-
- x = i
- print *, x
-
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90
deleted file mode 100644
index cf99a33..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDecalaredVarsRefactoringBefore.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-program Hello
- integer :: i = 3
-
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
- integer :: i
- real :: x
-
- x = i
- print *, x
-
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90
deleted file mode 100644
index 5c1e049..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/introduceimplicitnone/SubroutineWithDeclaredVarsRefactoringAfter.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-program Hello
- integer :: i = 3
-
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(i)
- implicit none
- integer :: i
- real :: x
-
- x = i
- print *, x
-
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1aRefactored.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1aRefactored.f90
deleted file mode 100644
index 47cefca..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1aRefactored.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program Hello
- integer :: Whatever = 3
-
- Whatever = Whatever + 1
- print *, "The integer is ", Whatever
- stop
-
-end program Hello
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1abOriginal.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1abOriginal.f90
deleted file mode 100644
index ea5bbad..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1abOriginal.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program Hello
- integer :: i = 3
-
- i = i + 1
- print *, "The integer is ", i
- stop
-
-end program Hello
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1bRefactored.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1bRefactored.f90
deleted file mode 100644
index 89cbb8f..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test1bRefactored.f90
+++ /dev/null
@@ -1,8 +0,0 @@
-program Whatever
- integer :: i = 3
-
- i = i + 1
- print *, "The integer is ", i
- stop
-
-end program Whatever
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test2Original.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test2Original.f90
deleted file mode 100644
index c58a7cd..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test2Original.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program Hello
- integer :: i = 3
- integer :: j = 4
-
- i = i + 1
- print *, "The integer is ", i
- print *, "and the other integer is ", j
- stop
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test3Original.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test3Original.f90
deleted file mode 100644
index 091fbdc..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test3Original.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-program Hello
- integer :: i = 3
-
- call Sub(i + 1)
-
- print *, "The integer is ", i
-
-contains
-
-subroutine Sub(x)
- integer, intent(in) :: x
-
- print *, "In the subroutine, the integer is ", x
-end subroutine Sub
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Original.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Original.f90
deleted file mode 100644
index 5712ebd..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Original.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-! This is a sample program
-
-program Hello
- integer :: i = 3 !!! a variable !!!
-
- call Sub(Fn(i) + 1)
-
- print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine Sub(x) ! start
- integer, intent(in) :: x
-
- print *, "In the subroutine, the integer is ", x
-end subroutine Sub ! end
-
-end program
-
-integer function Fn(n) result(y)
- print *, "You sent", n, "to the function"
- y = n
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Refactored.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Refactored.f90
deleted file mode 100644
index 3f1cd57..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/refactoring_test_files/rename/Test4Refactored.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-! This is a sample program
-
-program Hello
- integer :: i = 3 !!! a variable !!!
-
- call buS(nF(i) + 1)
-
- print *, "The integer is ", i
-
-contains ! a comment
-
-subroutine buS(x) ! start
- integer, intent(in) :: x
-
- print *, "In the subroutine, the integer is ", x
-end subroutine buS ! end
-
-end program
-
-integer function nF(n) result(y)
- print *, "You sent", n, "to the function"
- y = n
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/AssignResult.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/AssignResult.F90
deleted file mode 100644
index 1c35155..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/AssignResult.F90
+++ /dev/null
@@ -1,3 +0,0 @@
-program p
-result(1:7) = (/ 1.3, vector_x, 2.35, vector_y /)
-end program p
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/BlockData.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/BlockData.F90
deleted file mode 100644
index 0b6e27e..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/BlockData.F90
+++ /dev/null
@@ -1,7 +0,0 @@
-PROGRAM P
-
-END PROGRAM P
-
-BLOCK DATA INIT_BLOCK_A
-
-END BLOCK DATA
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ConstSubstring.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ConstSubstring.F90
deleted file mode 100644
index 154591c..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ConstSubstring.F90
+++ /dev/null
@@ -1,4 +0,0 @@
-Program p
-TEMP = "ELMWOOD HIGH" (N:N+3) ! Parent is a constant.
-lll = 'ABCDF' (i:i)
-End program p
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/DblPrecDim.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/DblPrecDim.F90
deleted file mode 100644
index 8b29635..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/DblPrecDim.F90
+++ /dev/null
@@ -1,4 +0,0 @@
-program p
- ! DIMENSION is a keyword
- DOUBLE PRECISION , DIMENSION ( 100 ) :: A , B
-end program p
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/FormatTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/FormatTest.F90
deleted file mode 100644
index 1e3ce78..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/FormatTest.F90
+++ /dev/null
@@ -1,4 +0,0 @@
-program p
- ! Should match / ) as two tokens, not one
- 100 FORMAT (2(3EN15.4,3X)/)
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/Function.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/Function.F90
deleted file mode 100644
index fddbbb3..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/Function.F90
+++ /dev/null
@@ -1,11 +0,0 @@
-program p
-
-contains
-
-integer function f(x)
-end function
-
-double precision function f(x)
-end function
-
-end program p
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ImplicitTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ImplicitTest.F90
deleted file mode 100644
index 56e226e..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ImplicitTest.F90
+++ /dev/null
@@ -1,12 +0,0 @@
-program lineContTest
- ! See Fortran 95 Handbook p.112
- implicit integer (a)
- implicit integer (b-c)
- implicit complex (d-e, f)
- implicit integer (g-i, k), complex(l-n)
- implicit type (mytype) (p), complex (q)
- implicit logical (kind = bit) (r)
- IMPLICIT INTEGER (S-V) ! Comment here
- IMPLICIT CHARACTER(LEN=5)(W-X)
- IMPLICIT CHARACTER(LEN=5, KIND=7)(Y), COMPLEX(Z) ! Yeah!
-end program lineContTest
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/IntentTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/IntentTest.F90
deleted file mode 100644
index 8351310..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/IntentTest.F90
+++ /dev/null
@@ -1,4 +0,0 @@
-integer function f(x, y) result(r)
- intent ( in ) x , y
- return 0
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/LineContinuationTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/LineContinuationTest.F90
deleted file mode 100644
index 2fa3bd6..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/LineContinuationTest.F90
+++ /dev/null
@@ -1,12 +0,0 @@
-program lineContTest
-
- REAL::S
- REAL::R
- R = 1.01
- S = R + & ! a comment
- ! another comment
- & R*2 & ! a comment
- ! another comment
- + R ! comment
-
-end program lineContTest
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/OperatorStarTest.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/OperatorStarTest.F90
deleted file mode 100644
index fad4a47..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/OperatorStarTest.F90
+++ /dev/null
@@ -1,5 +0,0 @@
-module ops
-interface operator (*)
- module procedure rat_mult
-end interface
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ParenSlash.F90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ParenSlash.F90
deleted file mode 100644
index 3fe1c7c..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/ParenSlash.F90
+++ /dev/null
@@ -1,7 +0,0 @@
-MODULE X
- ! (/) should be three tokens, not (/ followed by )
- INTERFACE OPERATOR (/)
- MODULE PROCEDURE BIG_DIV_INT, &
- BIG_DIV_BIG
- END INTERFACE
-END MODULE X
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118954-todo.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118954-todo.f90
deleted file mode 100644
index e02a9e6..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118954-todo.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-500 FORMAT (1H0, 2F10.3, E15.1, TR1, A10, 7HIN BOOK)
-1001 FORMAT (2(5E10.2, I10/), (1X, SP, I7, ss, ES10.2))
-130 FORMAT (9HMORE SNOW)
-140 FORMAT (a, 9X, 3A5, 7/ a, 10X, 3L4)
-! 17 format (7Ha"cde'g, 4 I8, '***') ! This still doesn't work (Holleriths in free form)
-
-string = ASCII_"Hello"
-
-end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118955.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118955.f90
deleted file mode 100644
index 9b5ce8e..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118955.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-IDENT = RESHAPE ( (/ (1, (0, II=1,N), JJ=1,N-1), 1 /), (/ N,N /) )
-
-
- a = reshape( (/ (1.0, (real(k), i=1,N), j=1,N), 1.0 /), &
- (/ N, N /) )
-
-STOKES=DEN&
- &SITY-11.11
-
-end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118965.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118965.f90
deleted file mode 100644
index 475cfa4..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug118965.f90
+++ /dev/null
@@ -1,174 +0,0 @@
-module CmatProduct_m
-
-use MatranUtil_m
-use Cmat_m
-
-implicit none
-
-
-
- real(wp), parameter :: ZERO = 0, ONE = 1
-
- interface Times
- module procedure CmTimesComplexScalarRm, CmTimesComplexScalarCm, &
- CmTimesRealScalarCm, CmTimesRealScalarRm
- end interface Times
-
-! interface operator(*)
-! module procedure RmTimesScalarRm_o, RmTimesRmScalar_o, &
-! RmTimesRmRm_o
-! end interface
-!
-! interface TimesXhy
-! module procedure RmTimesXhy
-! end interface TimesXhy
-!
-! interface operator(.xhy.)
-! module procedure RmTimes_xhy
-! end interface
-!
-! interface TimesXyh
-! module procedure RmTimesXyh
-! end interface TimesXyh
-! ! interface operator(.xyh.)
-! module procedure RmTimes_xyh
-! end interface
-!
-! interface TimesXhx
-! module procedure RmTimesXhx
-! end interface
-!
-! interface operator(.xhx.)
-! module procedure RmTimes_xhx
-! end interface
-!
-! interface TimesXxh
-! module procedure RmTimesXxh
-! end interface
-!
-! interface operator(.xxh.)
-! module procedure RmTimes_xxh
-! end interface
-
-contains
-
- subroutine CmTimesComplexScalarRm(C, s, A)
- type(Cmat), intent(inout) :: C
- complex(wp), intent(in) :: s
- type(Rmat), intent(in) :: A
-
- integer :: m, n, i, j
-
- m = A%nrow
- n = A%ncol
-
- call GuardTemp(A)
- call ReshapeAry(C, m, n)
-
- if (m==0 .or. n==0) then
- C%tag = 'yy'
- !else C%tag = 'xx'
- else
- C%tag = 'xx'
- forall (i=1:m,j=1:n)
- C%a(i,j) = s*cmplx(A%a(i,j),0)
- end forall
-
- end if
-
- call CleanTemp(A)
-
- end subroutine CmTimesComplexScalarRm
-
- subroutine CmTimesRealScalarCm(C, s, A)
- type(Cmat), intent(out) :: C
- real(wp), intent(in) :: s
- type(Cmat), intent(in) :: A
-
- integer m, n
-
- m = A%nrow
- n = A%ncol
-
- call GuardTemp(A)
- call ReshapeAry(C, m, n)
-
- if (m==0 .or. n==0) then
- C%tag = 'GE'
-
- else
-
- if (s>=0 .OR. A%tag/='HP') then
- C%tag = A%tag
- else
- C%tag = 'HE'
- end if
- C%a(1:m,1:n) = s*A%a(1:m,1:n)
-
- end if
-
- call CleanTemp(A)
-
- end subroutine CmTimesRealScalarCm
-
- subroutine CmTimesRealScalarRm(C, s, A)
- type(Cmat), intent(out) :: C
- real(wp), intent(in) :: s
- type(Rmat), intent(in) :: A
-
- integer m, n
-
- m = A%nrow
- n = A%ncol
-
- call GuardTemp(A)
- call ReshapeAry(C, m, n)
-
- if (m==0 .or. n==0) then
- C%tag = 'GE'
-
- else
-
- if (s>=0 .OR. A%tag/='HP') then
- C%tag = A%tag
- else
- C%tag = 'HE'
- end if
- C%a(1:m,1:n) = s*A%a(1:m,1:n)
-
- end if
-
- call CleanTemp(A)
-
- end subroutine CmTimesRealScalarRm
-
- subroutine CmTimesComplexScalarCm(C, s, A)
- type(Cmat), intent(out) :: C
- complex(wp), intent(in) :: s
- type(Cmat), intent(in) :: A
-
- integer m, n
-
- m = A%nrow
- n = A%ncol
-
- call GuardTemp(A)
- call ReshapeAry(C, m, n)
-
- if (m==0 .or. n==0) then
- C%tag = 'GE'
-
- else
-
- C%tag = 'HE'
- C%a(1:m,1:n) = s*A%a(1:m,1:n)
-
- end if
-
- call CleanTemp(A)
-
- end subroutine CmTimesComplexScalarCm
-
-
-
-end module CmatProduct_m
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126383.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126383.f90
deleted file mode 100644
index a7c6b83..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126383.f90
+++ /dev/null
@@ -1,25 +0,0 @@
-PROGRAM TstFmts
-
-! This program contains snippets of code that may cause the photran
-! outline parser grief. The program provides no useful function.
-
- IMPLICIT NONE
-
- WRITE (6, 148)
- WRITE (6, 149)
- WRITE (6, 150)
-
-148 FORMAT (/ ' *TestForBackup* Backup due to too large a fractional ', 'change in core power.' / )
-149 FORMAT ( / ' *TestForBackup* Backup due to too large a fractional ', 'change in core power.' /)
-150 FORMAT ( / ' *TestForBackup* Backup due to too large a fractional change in core power.', // )
-
- ictl(1:6) = ( / ictl1, ictl2, 1, 0, 0, 0 / )
- ictl(1:6) = (/ ictl1, ictl2, 1, 0, 0, 0 /)
-
-
-data radii/(12*(fcasts+1))*0/
-
- data radii / (12*(fcasts+1))*0 /
-
-
-END PROGRAM
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126546.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126546.f90
deleted file mode 100644
index 51da770..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126546.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-density(atoms%orbs) = 1.0d0
-density(atoms%orbs(i,n)) = 1.0d0
-end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126547.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126547.f90
deleted file mode 100644
index 29dfdd6..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126547.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-module blabla
-implicit none
-
-type,public :: atomic_type
- integer ::n
- integer, allocatable :: orbs(:,:)
-end type atomic_type
-
-end module blabla
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126548.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126548.f90
deleted file mode 100644
index ac34d1a..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug126548.f90
+++ /dev/null
@@ -1,24 +0,0 @@
-module blabla
-implicit none
-
-integer :: includx
-integer :: includex
-real :: m
-
-end module blabla
-
-module blabla
-implicit none
-
-integer :: includx
-integer :: includex
-
-contains
-
-subroutine blablas
-
- print *, includex
- write(*,*)"hello"
-end subroutine blablas
-
-end module blabla
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug138221.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug138221.f90
deleted file mode 100644
index 4ffa5ef..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug138221.f90
+++ /dev/null
@@ -1,5 +0,0 @@
- type VarcharType
- private
- character, dimension(:), allocatable :: chars
- end type
- end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug167734.f b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug167734.f
deleted file mode 100644
index d9ca601..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug167734.f
+++ /dev/null
@@ -1,3 +0,0 @@
- program Hello
- 10 format(F5.4,3E2.1)
- end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193031.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193031.f90
deleted file mode 100644
index 1c2d909..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193031.f90
+++ /dev/null
@@ -1,32 +0,0 @@
-! This did not parse correctly if its filename extension was .F (it was interpreted as fixed rather than free format),
-! even if .F files were associated with the free-format Fortran content type
-
-!WRF:DRIVER_LAYER:MAIN
-!
-
-PROGRAM wrf
-
- USE module_wrf_top
-
-!<DESCRIPTION>
-! Main program of WRF model. Responsible for starting up the model, reading in (and
-! broadcasting for distributed memory) configuration data, defining and initializing
-! the top-level domain, either from initial or restart data, setting up time-keeping, and
-! then calling the <a href=integrate.html>integrate</a> routine to advance the domain
-! to the ending time of the simulation. After the integration is completed, the model
-! is properly shut down.
-!
-!</DESCRIPTION>
-
- IMPLICIT NONE
-
- ! Initialize WRF model.
- CALL wrf_init
-
- ! WRF model time-stepping. Calls integrate().
- CALL wrf_run
-
- ! WRF model clean-up. This calls MPI_FINALIZE() for DM parallel runs.
- CALL wrf_finalize
-
-END PROGRAM wrf
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193196.f b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193196.f
deleted file mode 100644
index 322af35..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug193196.f
+++ /dev/null
@@ -1,3 +0,0 @@
- FORMAT(1X,I10,1X,I10,1X,E15.7,I10,1X,I10,1X,I3/)
- 9973 FORMAT(/,1X,'!!!!!! EXECUTION WILL NOW BE TERMINATED !!!!!!',//)
- END
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug195801.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug195801.f90
deleted file mode 100644
index 2c8e869..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug195801.f90
+++ /dev/null
@@ -1,36 +0,0 @@
-PROGRAM TEST_DERIVED_TYPE
-
- IMPLICIT NONE
-
- TYPE :: TestType
- INTEGER :: a, b
- END TYPE
-
-
- TYPE(TestType) :: TestVar
-
-
- TestVar%a = 10
- TestVar%b = 20
-
- CALL DISPLAYTEST(TestVar)
-
-
-CONTAINS
-
-
-
- SUBROUTINE DISPLAYTEST(Var)
-
- IMPLICIT NONE
-
- TYPE(TestType), INTENT(IN) :: Var
-
- PRINT *, Var%a
- PRINT *, Var%b
-
- END SUBROUTINE
-
-
-
-END PROGRAM
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606-todo.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606-todo.f90
deleted file mode 100644
index 1623eba..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606-todo.f90
+++ /dev/null
@@ -1,20 +0,0 @@
-USE SIZES; USE GLOBAL, ONLY: C3D, COMM; USE GLOBAL_IO
-
-
-type (OutputDataDescript_t) :: descript
-CHARACTER(LEN=4) :: type1
-CHARACTER(LEN=4) :: type2
-integer :: ns,type
-
-type1 = type2
-!type = 2 ! This line still has problems
-
- READ(IHOT,REC=IHOTSTP) IMHS ; IHOTSTP = IHOTSTP + 1
- READ(IHOT,REC=IHOTSTP) TIME ; IHOTSTP = IHOTSTP + 1
- READ(IHOT,REC=IHOTSTP) ITHS ; IHOTSTP = IHOTSTP + 1
- READ(IHOT,REC=IHOTSTP) NP_G_IN ; IHOTSTP = IHOTSTP + 1
- READ(IHOT,REC=IHOTSTP) NE_G_IN ; IHOTSTP = IHOTSTP + 1
- READ(IHOT,REC=IHOTSTP) NP_A_IN ; IHOTSTP = IHOTSTP + 1
- READ(IHOT,REC=IHOTSTP) NE_A_IN ; IHOTSTP = IHOTSTP + 1
-
-end
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606.f90
deleted file mode 100644
index 1822e04..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug212606.f90
+++ /dev/null
@@ -1,23 +0,0 @@
-subroutine s
-end subroutine
-
-
-program bug212606
- implicit none
-
- type OutputDataDescript_t
- integer n
- end type
-
- type (OutputDataDescript_t) :: descript
-
- CHARACTER(LEN=4) :: type1
- CHARACTER(LEN=4) :: type2
-
- integer :: ns,type
-
- type1 = type2
-
- type = 2
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug276186.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug276186.f90
deleted file mode 100644
index 8620ba3..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/bug276186.f90
+++ /dev/null
@@ -1,12 +0,0 @@
-type t1(l)
- integer, len :: l
-end type
-
-type t2(len)
- integer, len :: len
-end type
-
-! v-- F03 parser reports unexpected len
-integer ifdr,len_n,len_c,filtyp,fdrnam
-
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/formatbugs.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/formatbugs.f90
deleted file mode 100644
index fe4e648..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/formatbugs.f90
+++ /dev/null
@@ -1,16 +0,0 @@
-10 format(F5.4,3E2.1)
-
-148 FORMAT (/ ' *TestForBackup* Backup due to too large a fractional ', 'change in core power.' / )
-149 FORMAT ( / ' *TestForBackup* Backup due to too large a fractional ', 'change in core power.' /)
-150 FORMAT ( / ' *TestForBackup* Backup due to too large a fractional change in core power.', // )
-
- ictl(1:6) = ( / ictl1, ictl2, 1, 0, 0, 0 / )
- ictl(1:6) = (/ ictl1, ictl2, 1, 0, 0, 0 /)
-
-FORMAT(1X,I10,1X,I10,1X,E15.7,I10,1X,I10,1X,I3/)
-
-data radii/(12*(fcasts+1))*0/
-
-9973 FORMAT(/,1X,'!!!!!! EXECUTION WILL NOW BE TERMINATED !!!!!!',//)
-
- end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/valref.f90 b/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/valref.f90
deleted file mode 100644
index d5f0553..0000000
--- a/org.eclipse.photran.core.vpg.tests/parser-test-code/reg_tests/valref.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-subroutine s(%val(f), %ref(g))
-end subroutine
-
-function f(%val(f), %ref(g))
-end function
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/01-simple.f90 b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/01-simple.f90
deleted file mode 100644
index 8d0d2f4..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/01-simple.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-program program
- implicit none
-! Don't forget about comments
- ! That would be bad
-print *, "Hello" !<<<<<START !<<<<<END
- stop
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/01-simple.f90.result b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/01-simple.f90.result
deleted file mode 100644
index a979aeb..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/01-simple.f90.result
+++ /dev/null
@@ -1,7 +0,0 @@
-program program
- implicit none
- ! Don't forget about comments
- ! That would be bad
- print *, "Hello" !<<<<<START !<<<<<END
- stop
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/02-end-after.f90 b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/02-end-after.f90
deleted file mode 100644
index 33fb83d..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/02-end-after.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program program
- implicit none
-print *, "Hello" !<<<<<START !<<<<<END
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/02-end-after.f90.result b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/02-end-after.f90.result
deleted file mode 100644
index 3063bdd..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/02-end-after.f90.result
+++ /dev/null
@@ -1,4 +0,0 @@
-program program
- implicit none
- print *, "Hello" !<<<<<START !<<<<<END
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/03-blank-after.f90 b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/03-blank-after.f90
deleted file mode 100644
index 3550349..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/03-blank-after.f90
+++ /dev/null
@@ -1,3 +0,0 @@
- subroutine s !<<<<<START
- print *, 'Yip'
- end subroutine !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/03-blank-after.f90.result b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/03-blank-after.f90.result
deleted file mode 100644
index 283be06..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/03-blank-after.f90.result
+++ /dev/null
@@ -1,3 +0,0 @@
-subroutine s !<<<<<START
- print *, 'Yip'
-end subroutine !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/04-guess-indent.f90 b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/04-guess-indent.f90
deleted file mode 100644
index 54bdeb1..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/04-guess-indent.f90
+++ /dev/null
@@ -1,3 +0,0 @@
-program program
-print *, "Hello" !<<<<<START !<<<<<END
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/04-guess-indent.f90.result b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/04-guess-indent.f90.result
deleted file mode 100644
index 4f26825..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/04-guess-indent.f90.result
+++ /dev/null
@@ -1,3 +0,0 @@
-program program
- print *, "Hello" !<<<<<START !<<<<<END
-end program program
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/05-eachline-test.f90 b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/05-eachline-test.f90
deleted file mode 100644
index 6ba1b56..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/05-eachline-test.f90
+++ /dev/null
@@ -1,12 +0,0 @@
- program program !<<<<<START
- print *, "Hello"
- end program program
-
- subroutine s
- integer :: i
- do i = 3, 4
- do j = 5, 6
- print *, i + j
- end do
- end do
-end subroutine !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/05-eachline-test.f90.result b/org.eclipse.photran.core.vpg.tests/reindenter-test-code/05-eachline-test.f90.result
deleted file mode 100644
index e2f0ef3..0000000
--- a/org.eclipse.photran.core.vpg.tests/reindenter-test-code/05-eachline-test.f90.result
+++ /dev/null
@@ -1,12 +0,0 @@
-program program !<<<<<START
- print *, "Hello"
-end program program
-
-subroutine s
- integer :: i
- do i = 3, 4
- do j = 5, 6
- print *, i + j
- end do
- end do
-end subroutine !<<<<<END
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/.cvsignore b/org.eclipse.photran.core.vpg.tests/rename-test-code/.cvsignore
deleted file mode 100644
index d8200e1..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-rename?
-*.mod
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/Makefile b/org.eclipse.photran.core.vpg.tests/rename-test-code/Makefile
deleted file mode 100644
index bace899..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-FORTRAN=ifort
-FLAGS=-g -I.
-
-all:
- $(FORTRAN) $(FLAGS) -o rename1 rename1.f90
- $(FORTRAN) $(FLAGS) -o rename2 rename2.f90
-
- $(FORTRAN) $(FLAGS) -S rename3c.f90
- $(FORTRAN) $(FLAGS) -S rename3a.f90 rename3b.f90
- $(FORTRAN) $(FLAGS) -o rename3 rename3*.f90
- rm -f *.mod *.s
-
- $(FORTRAN) $(FLAGS) -o rename4 rename4.f90
- $(FORTRAN) $(FLAGS) -o rename5 rename5.f90
- $(FORTRAN) $(FLAGS) -o rename6 rename6.f90
- $(FORTRAN) $(FLAGS) -o rename7 rename7.f90
- $(FORTRAN) $(FLAGS) -o rename8 rename8.f90
- $(FORTRAN) $(FLAGS) -o rename9 rename9.f90 rename9a.f90
-
-clean:
- rm -f rename? *.mod *.s
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-mod.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-mod.f90
deleted file mode 100644
index c5e94d7..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-mod.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-MODULE Mod1
-
- INTEGER, PARAMETER :: DIM = 5 ! 3,27
-
- CONTAINS
-
- SUBROUTINE PrintDim
-
- print *,'DIM IS:'
-
- print *, DIM ! 11,22
-
- END SUBROUTINE PrintDim
-
-END MODULE Mod1
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-prog.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-prog.f90
deleted file mode 100644
index ee1110a..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-prog.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-PROGRAM MyProgram
-
- CALL MySub
-
- CALL MySub2
-
-END PROGRAM MyProgram
-
-
-subroutine MySub
-
- USE Mod1
-
- INTEGER, DIMENSION(DIM) :: MyArray = (/1, 10, 100, 1000, 10000/) ! 14,24
-
- print *, MyArray(DIM - 2) ! 16,22
-
-end subroutine MySub
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-subs.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-subs.f90
deleted file mode 100644
index b106a7c..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278103-subs.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-subroutine MySub2
-
- USE Mod1
-
- REAL :: MyArray2(DIM) ! 5,22
-
- SAVE MyArray2
-
- MyArray2(DIM - 3) = 0.1 ! 9,14
-
- print *, MyArray2(DIM - 3) ! 11,23
-
- CALL PrintDim
-
-end subroutine MySub2
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278106-visibility.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278106-visibility.f90
deleted file mode 100644
index 9b279a8..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278106-visibility.f90
+++ /dev/null
@@ -1,40 +0,0 @@
-module m1
- integer :: m1a, m1b ! 2,14 !2,19
-end module m1
-
-module m2
- use m1
- private :: m1b ! 7,14
-end module m2
-
-subroutine s1
- use m2
- !integer :: m1a !! ILLEGAL
- integer :: m1b ! 13,14
- print *, m1a, m1b ! 14,12 14,17
-end subroutine s1
-
-module m3
- use m1
- private
-end module m3
-
-subroutine s2
- use m3
- integer :: m1a ! 24,14
- integer :: m1b ! 25,14
- print *, m1a, m1b ! 26,12 26,17
-end subroutine s2
-
-module m4
- use m1
- private
- public :: m1a ! 32,13
-end module m4
-
-subroutine s3
- use m4
- !integer :: m1a !! ILLEGAL
- integer :: m1b ! 38,14
- print *, m1a, m1b ! 39,12 39,17
-end subroutine s3
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278320-mod.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278320-mod.f90
deleted file mode 100644
index 53d807f..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278320-mod.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-MODULE Mod1
- IMPLICIT NONE
- INTEGER, DIMENSION(3) :: module_array ! 3,28
-END MODULE Mod1
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278320-prog.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278320-prog.f90
deleted file mode 100644
index ef0f5c7..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278320-prog.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-PROGRAM MyProgram
- USE Mod1
- IMPLICIT NONE
- INTEGER :: local_array(3)
- module_array(1) = 1 ! 5,5
- local_array(module_array(2)) = 1 ! 6,17
-END PROGRAM MyProgram
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278324.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278324.f90
deleted file mode 100644
index b136aa7..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/bug278324.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-PROGRAM MyProgram
- IMPLICIT NONE
- CHARACTER(len=5) :: parmValFormat ! 3,25
-999 FORMAT('(A',I2,',')
- WRITE(parmValFormat,999) ! 5,11
- WRITE(25, parmValFormat // "' = ', I10, ' [CHANGED]')") ! 6,15
-END PROGRAM MyProgram
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-extsub1-a.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-extsub1-a.f90
deleted file mode 100644
index 3425639..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-extsub1-a.f90
+++ /dev/null
@@ -1,25 +0,0 @@
-subroutine ext1 !1,12
-end subroutine ext1 !2,16
-
-program test
- interface
- subroutine ext1 !6,16
- end subroutine ext1 !7,20
-
- character(len=3) function ext2(i) !9,31
- real, intent(in) :: i
- end function ext2 !11,18
-
- integer function ext3() !13,22
- end function ext3 !14,18
- end interface
-
- call ext1 !17,8
- print *, ext2(1.1) !18,12
- print *, ext3() !19,12
-
-end program
-
-function ext3() result(j) !23,10
- j = 3
-end function ext3 !25,14
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-extsub1-b.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-extsub1-b.f90
deleted file mode 100644
index 4a7eb67..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-extsub1-b.f90
+++ /dev/null
@@ -1,7 +0,0 @@
-character(len=3) function ext2(i) !1,27
- real, intent(in) :: i
- external ext3 !3,12
-
- j = ext3() !5,7
- ext2 = 'Bye' !6,3
-end function ext2 !7,14
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-fn-result.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-fn-result.f90
deleted file mode 100644
index dacc742..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-fn-result.f90
+++ /dev/null
@@ -1,7 +0,0 @@
- print *, f() ! 1,12
-contains
- function f() ! 3,12
- integer :: f ! 4,16
- f = 3 ! 5,5
- end function f ! 6,16
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-overloads.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-overloads.f90
deleted file mode 100644
index 28f4f4c..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename-overloads.f90
+++ /dev/null
@@ -1,49 +0,0 @@
-module module
- interface module_overload !2,13
- subroutine overload_int(value) !3,16
- integer, intent(in) :: value
- end subroutine overload_int !5,20
- module procedure overload_char !6,22
- end interface module_overload !7,17
-contains
- subroutine overload_char(value) !9,14
- character, intent(in) :: value
- print *, "(Module) Character", value
- end subroutine overload_char !12,18
-end module module
-
-subroutine overload_int(value) !15,12
- integer, intent(in) :: value
- print *, "Integer", value
-end subroutine overload_int !18,16
-
-program test
- interface overload
- subroutine overload_int(value) !22,16
- integer, intent(in) :: value
- end subroutine overload_int !24,20
-
- subroutine overload_char(value) !26,16
- character, intent(in) :: value
- end subroutine overload_char !28,20
- end interface overload !29,17
-
- call overload(1) !31,8
- call overload('c') !32,8
- call overload_int(1) !33,8
- call overload_char('c') !34,8
- call call_module
-contains
- subroutine call_module
- use module
- call module_overload(2) !39,10
- call module_overload('d') !40,10
- call overload_int(2) !41,10
- call overload_char('d') !42,10
- end subroutine call_module
-end program
-
-subroutine overload_char(value) !46,12
- character, intent(in) :: value
- print *, "Character", value
-end subroutine overload_char !49,16
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename1.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename1.f90
deleted file mode 100644
index 711180a..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename1.f90
+++ /dev/null
@@ -1,33 +0,0 @@
-program Main
- integer, parameter :: two = 2
- integer, parameter :: three = selected_real_kind(3)
- integer :: a, b = three
- integer(three) :: not_shadowed = 98765
- real(kind=three) :: c
- complex :: shadow_this_1 = (three, two), shadow_this_2 = (2, three)
- implicit = 13579
- print *, a, b, c, two, three, not_shadowed, shadow_this_1, shadow_this_2, implicit
-
- call int
- call ext
- stop
-
-contains
-
- subroutine int
- complex :: shadow_this_1
- integer :: shadow_this_2
-
- print *, not_shadowed, shadow_this_1, shadow_this_2, implicit
- call ext
- end subroutine int
- subroutine sub
- end subroutine sub
-end program Main
-subroutine ext
- print *, two
-contains
- subroutine int
- print *, two
- end subroutine int
-end subroutine ext
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename2.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename2.f90
deleted file mode 100644
index 7fb2509..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename2.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-! Header comment
-program Main ! After program name
- implicit none
- integer :: one ! After declaration
- integer, parameter :: two = 2 ! After declaration assignment
- integer :: three
-
- ! Between specifications
-
- integer(two) :: four
-
- print *, one !
- print *, two, &
- three
- print *, four &
- , one
- print *, two, & !
- three !
- print *, four & !
- , one !
-
- print *, "This is a really&
- & long string"
-
- stop
-! end
-end program Main !End
-! end of file
-! end of file
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3.f90
deleted file mode 100644
index ec7214d..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3.f90
+++ /dev/null
@@ -1,18 +0,0 @@
-program MyProgram ! 1,9
- use module_a, a_renamed3 => a_sub3of3 ! 2,7 2,17 2,31
- use module_b, only: b_sub2of3, b_renamed3 => b_sub3of3 ! 3,7 3,23 3,34 3,48
-
- implicit none
-
- call a_sub1of3 ! 7,8
- call a_sub2of3 ! 8,8
- call a_renamed3 ! 9,8
- call b_sub2of3 ! 10,8
- call b_renamed3 ! 11,8
- call contained ! 12,8
- call external ! 13,8
-contains
- subroutine contained; end subroutine ! 15,14
-end
-
-subroutine external; end subroutine ! 18,12
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3a.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3a.f90
deleted file mode 100644
index fe48524..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3a.f90
+++ /dev/null
@@ -1,6 +0,0 @@
-module module_a ! 1,8
-contains
- subroutine a_sub1of3; end subroutine ! 3,16
- subroutine a_sub2of3; end subroutine ! 4,16
- subroutine a_sub3of3; end subroutine ! 5,16
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3b.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3b.f90
deleted file mode 100644
index eac8923..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3b.f90
+++ /dev/null
@@ -1,9 +0,0 @@
-module module_b ! 1,8
- use module_c ! 2,9
-contains
- subroutine b_sub1of3; end subroutine ! 4,16
- subroutine b_sub2of3; end subroutine ! 5,16
- subroutine b_sub3of3; ! 6,16
- call c_sub ! 7,12
- end subroutine
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3c.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3c.f90
deleted file mode 100644
index 7c06b6d..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename3c.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-module module_c ! 1,8
-contains
- subroutine c_sub; end subroutine ! 3,16
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename4.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename4.f90
deleted file mode 100644
index b678a6e..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename4.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-program MyProgram ! 1,9
- include "rename4a.fh" ! Some include
- print *, hello ! 3,12
- include "rename4b.fh"
-end
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename4a.fh b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename4a.fh
deleted file mode 100644
index 9900890..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename4a.fh
+++ /dev/null
@@ -1,2 +0,0 @@
-integer :: hello ! 1,12
-integer :: goodbye ! 2, 12
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename4b.fh b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename4b.fh
deleted file mode 100644
index f32f18b..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename4b.fh
+++ /dev/null
@@ -1 +0,0 @@
-print *, hello ! 1,10
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename5.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename5.f90
deleted file mode 100644
index ce018ef..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename5.f90
+++ /dev/null
@@ -1,47 +0,0 @@
-! 14 45 52
-pure integer(selected_int_kind(3)) function thrice(n)
- intent(in) :: n ! 17 n should be implicitly declared, NOT resolve to the outer n
- thrice=-999 ! 3
-end function thrice ! 14
-
- type type ! 8
- integer :: a ! 16
- end type type ! 12
-
-! 3 10 17
-! thrice(n) = 3*n ! Statement function, shadows outer function
-! 3
- n = 1 ! Different n than statement function parameter
-
- ! 12 23 30 34 38 44
- print *, thrice(6), thrice(n), n, f(1), f(3)
- ! Expect 18.0 3.0 1.0 1.0 3.0
- stop
-
-contains
- ! 30 33
- recursive integer function f (a)
- ! 16
- integer :: a ! Different a than derived type component
- ! 10 19
- type(type) :: x
- ! 10 28 33
- type(type), pointer :: p => null()
-
- target :: x ! 15
- intent(in) :: a ! 19
-
-! 5 7 11
- x%a = a ! Assign local a to component
-! 5 9 14
- x = type(a) ! Structure ctor assigning local a to component a
-! 5 10
- p => x
- !p => null() does not parse
-
-! 5
- f = 1
-! 9 16 20 2729
- if (a > 1) f = thrice(f(f-1))
- end function f ! 16
-end
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename6.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename6.f90
deleted file mode 100644
index 5784c10..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename6.f90
+++ /dev/null
@@ -1,29 +0,0 @@
-implicit none; type outer ! outer 21
- integer :: i
- type(outer), pointer :: inner ! outer 8
-end type
-integer :: j ! j 12
-integer, parameter :: i = 2 ! i 23
-character(len=i), save :: hi = 'hi', bye = 'bye' ! i 15 hi 27 bye 38
-!type(outer) :: type
-type(outer) :: ty ! outer 6 ty 16
-integer :: array(5) ! array 12
-
-!type%i = type%inner%i - i ! i 25
-
-!2 9 22
- ty%i = ty%inner%i - i
-
-! 11 16 20 25 30 35 40
-namelist /nl1/ hi, bye /nl2/ hi, /nl3/ bye
-read (5, nml=nl1) ! nl1 14
-
-! 6 9 13 30
-data hi,bye,ty%i /'Hi','Bye',i/
-! 6 14
-data array/5*i/
-! 6 12
-data array(i) /3/
-! 7 13 17 23 29
-data (array(j), j=1,5,i) /3*i/
-end
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename7.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename7.f90
deleted file mode 100644
index e8e0b9d..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename7.f90
+++ /dev/null
@@ -1,15 +0,0 @@
-! 12
-block data bdn
-
-implicit none
-! 12 16 20 24 28
-integer :: v1, v2, v3, v4, v5
-! 9 18 22 28 32 41 45
-common /common1/ v1, v2/zz/v3, v4, v5 ! Replacing /zz/ with // causes parse error Adding /common1/ at 31 causes semantic error
-! 7
-save /common1/
-! 6 10
-data v1, v2 /3, 4/
-! 16
-end block data bdn
-end
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename8.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename8.f90
deleted file mode 100644
index c07b925..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename8.f90
+++ /dev/null
@@ -1,30 +0,0 @@
-end
-! f : (((double -> char(3)), double) -> char(3)) -> char(*)
-! 1012 22
-function f(g) result(q)
- implicit none
- ! 23
- character(len=*) :: q
- interface
- ! g : ((double -> char(3)), double) -> char(3)
- ! 3133 36
- character(len=3) function g(h, x)
- interface
- ! h : double -> char(3)
- ! 3537
- character(len=3) function h(x)
- ! 43
- double precision, intent(in) :: x
- end function h !<<< 22
- end interface
- ! 39
- double precision, intent(in) :: x
- ! 18
- end function g
- end interface
-! 3
- q = 'This is terrible'
-! 14
-end function f
-! 18 23 43
-integer function g(); g = 3; end function g
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename9.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename9.f90
deleted file mode 100644
index 9b5a100..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename9.f90
+++ /dev/null
@@ -1,40 +0,0 @@
-module M1
- implicit none
- integer :: i1 !3,14
- integer, private :: j1 !4,23
- private :: k1 !5,14
- interface
- character(len=3) function k1(z) !7,31
- real, intent(in) :: z
- end function
- end interface
-contains
- integer function f1(); f1 = 1; end function !12,20 12,26
-end module M1
-
-module M2
- implicit none
- integer :: i2 !17,14
- integer, public :: j2
- private
- public :: k2 !20,13
- interface
- character(len=3) function k2(i2) !22,31
- doubleprecision, intent(in) :: i2
- end function
- end interface
-contains
- integer function f2(); f2 = 1; end function !27,20 27,26
-end module M2
-
-program p
- use M1
- use M2
-!implicit none ! Uncomment to see compile errors (to determine which are implicits)
- ! j1 k1 z implicit
- ! 12 16 20 24 30
- print *, i1, j1, k1, f1(), z
- ! i2 f2 implicit
- ! 12 16 20 29
- print *, i2, j2, k2(3d0), f2
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename9a.f90 b/org.eclipse.photran.core.vpg.tests/rename-test-code/rename9a.f90
deleted file mode 100644
index a09dbc9..0000000
--- a/org.eclipse.photran.core.vpg.tests/rename-test-code/rename9a.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-character(len=3) function k2(i)
- real, intent(in) :: i
- k2 = 'Bye'
-end function
diff --git a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-1-initial.f90 b/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-1-initial.f90
deleted file mode 100644
index 28819a2..0000000
--- a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-1-initial.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
- integer, parameter :: TWENTY = 20 ! a constant
- print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
- subroutine q
- end
-
- ! Subroutine comment
- subroutine s(x) ! sub sub
- real, intent(in) :: x ! This is x
- print *, x ! Printing
- end subroutine
-
- subroutine r
- end
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-2-proggie-shorter.f90 b/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-2-proggie-shorter.f90
deleted file mode 100644
index 1153ad5..0000000
--- a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-2-proggie-shorter.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program p ! Yes, a program
- integer, parameter :: TWENTY = 20 ! a constant
- print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
- subroutine q
- end
-
- ! Subroutine comment
- subroutine s(x) ! sub sub
- real, intent(in) :: x ! This is x
- print *, x ! Printing
- end subroutine
-
- subroutine r
- end
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-3-proggie-longer.f90 b/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-3-proggie-longer.f90
deleted file mode 100644
index 37a8bf0..0000000
--- a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-3-proggie-longer.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggiedoggie ! Yes, a program
- integer, parameter :: TWENTY = 20 ! a constant
- print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
- subroutine q
- end
-
- ! Subroutine comment
- subroutine s(x) ! sub sub
- real, intent(in) :: x ! This is x
- print *, x ! Printing
- end subroutine
-
- subroutine r
- end
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-4-q-cut.f90 b/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-4-q-cut.f90
deleted file mode 100644
index 80be11c..0000000
--- a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-4-q-cut.f90
+++ /dev/null
@@ -1,19 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
- integer, parameter :: TWENTY = 20 ! a constant
- print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-
- ! Subroutine comment
- subroutine s(x) ! sub sub
- real, intent(in) :: x ! This is x
- print *, x ! Printing
- end subroutine
-
- subroutine r
- end
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-5-q-pasted.f90 b/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-5-q-pasted.f90
deleted file mode 100644
index 7b5c1a2..0000000
--- a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-5-q-pasted.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
- integer, parameter :: TWENTY = 20 ! a constant
- print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-
- ! Subroutine comment
- subroutine s(x) ! sub sub
- real, intent(in) :: x ! This is x
- print *, x ! Printing
- end subroutine
-
- subroutine r
- end
-end
- subroutine q
- end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-6-q-pasted-at-bottom.f90 b/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-6-q-pasted-at-bottom.f90
deleted file mode 100644
index 19d94da..0000000
--- a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-6-q-pasted-at-bottom.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
- integer, parameter :: TWENTY = 20 ! a constant
- print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-
- ! Subroutine comment
- subroutine s(x) ! sub sub
- real, intent(in) :: x ! This is x
- print *, x ! Printing
- end subroutine
-
- subroutine r
- end
-end
-
-subroutine t
-end subroutine ! EOF comment
- subroutine q
- end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-7-q-pasted-formatted.f90 b/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-7-q-pasted-formatted.f90
deleted file mode 100644
index df092d0..0000000
--- a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-7-q-pasted-formatted.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
- integer, parameter :: TWENTY = 20 ! a constant
- print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-
- ! Subroutine comment
- subroutine s(x) ! sub sub
- real, intent(in) :: x ! This is x
- print *, x ! Printing
- end subroutine
-
- subroutine r
- end
-end
-subroutine q
-end
-
-subroutine t
-end subroutine ! EOF comment
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-8-q-pasted-at-bottom-formatted.f90 b/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-8-q-pasted-at-bottom-formatted.f90
deleted file mode 100644
index e48bad7..0000000
--- a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-8-q-pasted-at-bottom-formatted.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
- integer, parameter :: TWENTY = 20 ! a constant
- print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-
- ! Subroutine comment
- subroutine s(x) ! sub sub
- real, intent(in) :: x ! This is x
- print *, x ! Printing
- end subroutine
-
- subroutine r
- end
-end
-
-subroutine t
-end subroutine ! EOF comment
-subroutine q
-end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-9-t-above-q.f90 b/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-9-t-above-q.f90
deleted file mode 100644
index f1031ae..0000000
--- a/org.eclipse.photran.core.vpg.tests/source-editor-test-code/hello-9-t-above-q.f90
+++ /dev/null
@@ -1,21 +0,0 @@
-! This is a Fortran file
-! for testing
-program proggie ! Yes, a program
- integer, parameter :: TWENTY = 20 ! a constant
- print *, "Kon'nichiwa, Photran refactoring engine!"
-contains
-
- subroutine t
- end subroutine ! EOF comment
- subroutine q
- end
-
- ! Subroutine comment
- subroutine s(x) ! sub sub
- real, intent(in) :: x ! This is x
- print *, x ! Printing
- end subroutine
-
- subroutine r
- end
-end
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/ArrayReferenceTest.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/ArrayReferenceTest.java
deleted file mode 100644
index e8bd424..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/ArrayReferenceTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.dependence;
-
-import org.eclipse.photran.internal.core.analysis.dependence.VariableReference;
-
-/**
- *
- * @author Jeff Overbey
- */
-public class ArrayReferenceTest extends BaseTestCase
-{
- public void test1DLHS() throws Exception
- {
- assertEquals("a(2*i+3)", VariableReference.fromLHS(assignment("a(2* i +3) = 0")).toString());
- assertEquals("a(2*i+3)", VariableReference.fromLHS(assignment("A(2* i +3) = 0")).toString());
- assertEquals("a(1*i+2)", VariableReference.fromLHS(assignment("a(i + 2) = 0")).toString());
- assertEquals("a(3)", VariableReference.fromLHS(assignment("a(3) = 0")).toString());
- assertEquals("a(1*i+0)", VariableReference.fromLHS(assignment("a(i) = 0")).toString());
- assertEquals("a(2*i+0)", VariableReference.fromLHS(assignment("a(2* i) = 0")).toString());
- assertEquals("a", VariableReference.fromLHS(assignment("a(s(n/3)) = 0")).toString());
- assertEquals("a(2*i+5)", VariableReference.fromLHS(assignment("a(5+2*i) = 0")).toString());
- assertEquals("a(1*i+5)", VariableReference.fromLHS(assignment("a(5+i) = 0")).toString());
- assertEquals("a(-1*i+5)", VariableReference.fromLHS(assignment("a(-i+5) = 0")).toString());
- assertEquals("a(-1*i+0)", VariableReference.fromLHS(assignment("a(-i) = 0")).toString());
- //assertEquals("a(-1*i+5)", VariableReference.fromLHS(assignment("a(5+-i) = 0")).toString());
- }
-
- public void test3DLHS() throws Exception
- {
- assertEquals("a(2*i+0, 6, 1*j+10)", VariableReference.fromLHS(assignment("a ( 2*i, 6 , j + 10 ) = 0")).toString());
- }
-
- public void testRHS() throws Exception
- {
- assertEquals("[b(3), c(6*i+0), i, d, a]",
- VariableReference.fromRHS(assignment("a ( 2*i, 6 , j + 10 ) = b(3) + c(6*i) + 3 * d * a")).toString());
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/BaseTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/BaseTestCase.java
deleted file mode 100644
index 191d6f9..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/BaseTestCase.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.dependence;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.eclipse.photran.internal.core.SyntaxException;
-import org.eclipse.photran.internal.core.analysis.dependence.LoopDependences;
-import org.eclipse.photran.internal.core.analysis.dependence.GCDTest;
-import org.eclipse.photran.internal.core.analysis.loops.ASTProperLoopConstructNode;
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.lexer.LexerException;
-import org.eclipse.photran.internal.core.lexer.LexerFactory;
-import org.eclipse.photran.internal.core.lexer.SourceForm;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.IBodyConstruct;
-import org.eclipse.photran.internal.core.parser.Parser;
-
-/**
- * Base class for unit tests for dependence testing classes.
- *
- * @author Jeff Overbey
- */
-abstract class BaseTestCase extends TestCase
-{
- protected LoopDependences dependences(String loop) throws IOException, LexerException, SyntaxException
- {
- return LoopDependences.computeFor(loop(loop), new GCDTest());
- }
-
- protected ASTProperLoopConstructNode loop(String stmt) throws IOException, LexerException, SyntaxException
- {
- ASTProperLoopConstructNode result = parseStmt(stmt);
- assertNotNull(result);
- return result;
- }
-
- protected ASTAssignmentStmtNode assignment(String stmt) throws IOException, LexerException, SyntaxException
- {
- ASTAssignmentStmtNode result = parseStmt(stmt);
- assertNotNull(result);
- return result;
- }
-
- @SuppressWarnings("unchecked")
- protected <T extends IBodyConstruct> T parseStmt(String stmt) throws IOException, LexerException, SyntaxException
- {
- String program = stmt + "\nend program\n";
- InputStream in = new ByteArrayInputStream(program.getBytes());
- ASTExecutableProgramNode ast = new Parser().parse(LexerFactory.createLexer(in, null, null, SourceForm.UNPREPROCESSED_FREE_FORM, true));
- assertTrue(ast != null);
- LoopReplacer.replaceAllLoopsIn(ast);
- return (T)((ASTMainProgramNode)ast.getProgramUnitList().get(0)).getBody().get(0);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/DependencesTest.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/DependencesTest.java
deleted file mode 100644
index 34cb16c..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/DependencesTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.dependence;
-
-import org.eclipse.photran.internal.core.analysis.dependence.LoopDependences;
-
-/**
- * Unit tests for the Dependences class, which collects array dependences in a perfect loop nest.
- *
- * @author Jeff Overbey
- */
-public class DependencesTest extends BaseTestCase
-{
- public void testPage38() throws Exception
- {
- LoopDependences deps = dependences(
- "DO I = 1, N\n" +
- " A(I + 1) = A(I) + B(I) ! S1\n" +
- "ENDDO\n");
-
- assertEquals("[a(1*i+1)]", deps.getWrites().toString());
- assertEquals("[a(1*i+0), i, b(1*i+0), i]", deps.getReads().toString());
-
- assertEquals("[Anti-dependence from a(1*i+0) to a(1*i+1), Flow dependence from a(1*i+1) to a(1*i+0)]",
- deps.getDependences().toString());
- }
-
- public void testPage39() throws Exception
- {
- LoopDependences deps = dependences(
- "DO I = 1, N\n" +
- " A(I + 2) = A(I) + B(I) ! S1\n" +
- "ENDDO\n");
-
- assertEquals("[a(1*i+2)]", deps.getWrites().toString());
- assertEquals("[a(1*i+0), i, b(1*i+0), i]", deps.getReads().toString());
-
- assertEquals("[Anti-dependence from a(1*i+0) to a(1*i+2), Flow dependence from a(1*i+2) to a(1*i+0)]",
- deps.getDependences().toString());
- }
-
- public void testFalse1() throws Exception
- {
- LoopDependences deps = dependences(
- "DO I = 1, N\n" +
- " A(2*I) = A(2*I + 1)\n" +
- "ENDDO\n");
-
- assertEquals("[a(2*i+0)]", deps.getWrites().toString());
- assertEquals("[a(2*i+1), i]", deps.getReads().toString());
-
- assertTrue(deps.getDependences().isEmpty());
- }
-
- public void testPage49() throws Exception
- {
- LoopDependences deps = dependences(
- "DO I = 1, N\n" +
- " A(I + 1) = F(I) ! S1\n" +
- " F(I + 1) = A(I) ! S2\n" +
- "ENDDO\n");
-
- assertEquals("[a(1*i+1), f(1*i+1)]", deps.getWrites().toString());
- assertEquals("[f(1*i+0), i, a(1*i+0), i]", deps.getReads().toString());
-
- assertEquals("[Anti-dependence from f(1*i+0) to f(1*i+1), " +
- "Flow dependence from a(1*i+1) to a(1*i+0), " +
- "Anti-dependence from a(1*i+0) to a(1*i+1), " +
- "Flow dependence from f(1*i+1) to f(1*i+0)]",
- deps.getDependences().toString());
- }
-
- /*
- public void testFalse2() throws Exception
- {
- LoopDependences deps = dependences(
- "DO I = 1, N\n" +
- " A(-1*I) = A(I)\n" +
- "ENDDO\n");
-
- assertEquals("[a(-1*i+0)]", deps.getWrites().toString());
- assertEquals("[a(1*i+0), i]", deps.getReads().toString());
-
- assertTrue(deps.getDependences().isEmpty());
- }
- */
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/GCDTestTest.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/GCDTestTest.java
deleted file mode 100644
index b06d8c0..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/GCDTestTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.dependence;
-
-import junit.framework.TestCase;
-
-import org.eclipse.photran.internal.core.analysis.dependence.GCDTest;
-
-/**
- *
- * @author Jeff Overbey
- */
-public class GCDTestTest extends TestCase
-{
- /**
- * DO I = 1, N
- * A(I + 1) = A(I) + B(I) ! S1
- * ENDDO
- */
- public void testPage38()
- {
- assertTrue(test(
- 1,
- // Constant term
- // | Coefficient of I
- // | |
- // V V
- new int[] { 1, 1 },
- new int[] { 0, 1 }));
- }
-
- /**
- * DO I = 1, N
- * A(I + 2) = A(I) + B(I) ! S1
- * ENDDO
- */
- public void testPage39()
- {
- assertTrue(test(
- 1,
- // Constant term
- // | Coefficient of I
- // | |
- // V V
- new int[] { 2, 1 },
- new int[] { 0, 1 }));
- }
-
- /**
- * DO I = 1, N
- * A(2*I) = A(2*I + 1)
- * ENDDO
- */
- public void testFalse()
- {
- assertFalse(test(
- 1,
- // Constant term
- // | Coefficient of I
- // | |
- // V V
- new int[] { 0, 2 },
- new int[] { 1, 2 }));
- }
-
- private boolean test(int n, int[] a, int[] b)
- {
- return new GCDTest().test(n, null, null, a, b, null);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/TestSeparatedListRemoval.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/TestSeparatedListRemoval.java
deleted file mode 100644
index bd14432..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/analysis/dependence/TestSeparatedListRemoval.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.analysis.dependence;
-
-import java.io.IOException;
-
-import org.eclipse.photran.internal.core.SyntaxException;
-import org.eclipse.photran.internal.core.lexer.LexerException;
-import org.eclipse.photran.internal.core.parser.ASTEntityDeclNode;
-import org.eclipse.photran.internal.core.parser.ASTTypeDeclarationStmtNode;
-import org.eclipse.photran.internal.core.parser.Parser.IASTListNode;
-
-/**
- * Test to verify that ASTSeparatedListNode#remove correctly removes commas
- *
- * @author Jeff Overbey
- */
-public class TestSeparatedListRemoval extends BaseTestCase
-{
- public void testSeparatedListRemoval() throws IOException, LexerException, SyntaxException
- {
- ASTTypeDeclarationStmtNode stmt = parseStmt("integer a, b, c, d, e");
- IASTListNode<ASTEntityDeclNode> decls = stmt.getEntityDeclList();
- decls.remove(0);
- assertEquals("integer b, c, d, e", stmt.toString().trim());
- ASTEntityDeclNode b = decls.get(0);
- decls.remove(b);
- assertEquals("integer c, d, e", stmt.toString().trim());
- decls.remove(1);
- assertEquals("integer c, e", stmt.toString().trim());
- decls.remove(1);
- assertEquals("integer c", stmt.toString().trim());
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractParserTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractParserTestCase.java
deleted file mode 100644
index c73454c..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractParserTestCase.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.File;
-import java.io.IOException;
-
-import junit.framework.ComparisonFailure;
-import junit.framework.TestCase;
-
-import org.eclipse.photran.internal.core.lexer.LexerFactory;
-import org.eclipse.photran.internal.core.lexer.SourceForm;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.Parser;
-import org.eclipse.photran.internal.core.util.SemanticError;
-
-/**
- * A test case for parsing a single file. Created by <code>ParserTestSuite</code>.
- *
- * @author joverbey
- */
-public abstract class AbstractParserTestCase extends TestCase
-{
- protected File file = null;
- protected boolean isFixedForm = false;
- protected String fileDescription = null;
-
- /**
- * Constructor
- *
- * @param filename the file to parse
- * @param isFixedForm true iff the file is in fixed format
- */
- public AbstractParserTestCase(File file, boolean isFixedForm, String testCaseDescription)
- {
- super("test"); // name of method to run
- this.file = file;
- this.isFixedForm = isFixedForm;
- this.fileDescription = testCaseDescription;
- }
-
- /**
- * Method called by JUnit: Parses the given file.
- *
- * @throws Exception
- */
- public final void test() throws Exception
- {
- if (file == null) return; // for when JUnit invokes the no-arguments constructor and reflectively invokes this method
-
- try
- {
- SourceForm sourceForm = createSourceForm();
- ASTExecutableProgramNode ast = new Parser().parse(LexerFactory.createLexer(file, sourceForm, true));
- assertTrue(ast != null);
- handleAST(ast);
- }
- catch (ComparisonFailure f)
- {
- throw f;
- }
- catch (Throwable t)
- {
- System.err.println(file.getName());
- throw new Exception(fileDescription, t);
- }
- }
-
- protected SourceForm createSourceForm()
- {
- SourceForm sourceForm = (isFixedForm ? SourceForm.FIXED_FORM : SourceForm.UNPREPROCESSED_FREE_FORM); /*SourceForm.preprocessedFreeForm(new IncludeLoaderCallback(null)
- {
- @Override public InputStream getIncludedFileAsStream(String fileToInclude) throws FileNotFoundException
- {
- throw new FileNotFoundException("INCLUDE lines not supported in JUnit tests");
- }
- }));*/
- return sourceForm;
- }
-
- /**
- * Subclasses can override this method to do something interesting with the AST
- *
- * @param ast The abstract syntax tree for the Fortran file that was parsed
- * @throws IOException
- */
- protected abstract void handleAST(ASTExecutableProgramNode ast) throws IOException, SemanticError;
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractParserTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractParserTestSuite.java
deleted file mode 100644
index 5411edf..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractParserTestSuite.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
-import junit.framework.TestSuite;
-
-/**
- * Attempts to parse all of the Fortran source code found in the subdirectories of a particular directory.
- * Created by the various classes in org.eclipse.photran.internal.core.tests.parser.
- *
- * @author joverbey
- */
-public abstract class AbstractParserTestSuite extends TestSuite
-{
- public static final String TEST_ROOT = "../org.eclipse.photran.core.vpg.tests/parser-test-code/";
-
- protected String directory;
- protected boolean isFixedForm;
-
- public AbstractParserTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
- {
- this.directory = getFullPath(directorySuffix);
- this.isFixedForm = isFixedForm;
-
- setName(getDescription(directorySuffix, isFixedForm, mustExist));
-
- File dir = new File(directory);
- if (dir.exists()) processDirectory(dir, getFilesToSkip(dir));
- }
-
- protected String getDescription(String directorySuffix, boolean isFixedForm, boolean mustExist)
- {
- String dir = getFullPath(directorySuffix);
-
- StringBuffer sb = new StringBuffer(256);
- sb.append(describeTestAction());
- sb.append(" ");
- sb.append(directorySuffix);
- sb.append(isFixedForm ? " (fixed format)" : " (free format)");
- String message = sb.toString();
-
- if (!new File(dir).exists())
- {
- if (mustExist)
- throw new Error("Unable to find directory " + dir + " (working directory is " + getWorkingDirectory() + ")");
- else
- message = "NOTE: Confidential parser tests are not installed on this system: " + dir + " does not exist";
- }
-
- return message;
- }
-
- private String getWorkingDirectory()
- {
- try
- {
- return new File(".").getCanonicalPath();
- }
- catch (IOException e)
- {
- return "???";
- }
- }
-
- protected abstract String describeTestAction();
-
- private static String getFullPath(String directorySuffix)
- {
- return TEST_ROOT + directorySuffix + (directorySuffix.endsWith("/") ? "" : "/");
- }
-
- protected Set<String> getFilesToSkip(File dir)
- {
- File list = new File(dir, "PHOTRAN-PARSER-ERRORS.txt");
- if (list.exists() && list.canRead())
- return filesListedIn(list);
- else
- return Collections.<String>emptySet();
- }
-
- protected Set<String> filesListedIn(File list)
- {
- try
- {
- Set<String> result = new HashSet<String>();
-
- BufferedReader r = new BufferedReader(new FileReader(list));
- for (String line = r.readLine(); line != null; line = r.readLine())
- {
- line = line.trim().toLowerCase();
- if (!line.equals(""))
- result.add(line.trim().toLowerCase());
- }
-
- return result;
- }
- catch (IOException e)
- {
- throw new Error(e);
- }
- }
-
- private void processDirectory(File dir, Set<String> filenamesToSkip)
- {
- addTestsFor(
- dir.listFiles(isFixedForm ? FIXED_FORM_FILENAME_FILTER : FREE_FORM_FILENAME_FILTER),
- filenamesToSkip);
-
- for (File subdir : dir.listFiles(DIRECTORY_FILTER))
- processDirectory(subdir, filenamesToSkip);
- }
-
- private void addTestsFor(File[] filesInDirectory, Set<String> filenamesToSkip)
- {
- for (File file : filesInDirectory)
- if (!shouldSkip(file, filenamesToSkip))
- addTest(createTestFor(file, isFixedForm, describe(file)));
- }
-
- protected boolean shouldSkip(File file, Set<String> filenamesToSkip)
- {
- return filenamesToSkip.contains(file.getName().toLowerCase());
- }
-
- protected abstract AbstractParserTestCase createTestFor(File file, boolean isFixedForm, String fileDescription);
-
- private String describe(File file)
- {
- return file.getAbsolutePath().substring(directory.length());
- }
-
- private static FilenameFilter FREE_FORM_FILENAME_FILTER = new FilenameFilter()
- {
- public boolean accept(File dir, String name)
- {
- return (name.endsWith(".f90")
- || name.endsWith(".f03")
- || name.endsWith(".F90")
- || name.endsWith(".F03")
- || name.endsWith(".FRE")) && !name.startsWith("XXX");
- }
- };
-
- private static FilenameFilter FIXED_FORM_FILENAME_FILTER = new FilenameFilter()
- {
- public boolean accept(File dir, String name)
- {
- return (name.endsWith(".f")
- || name.endsWith(".FIX")) && !name.startsWith("XXX");
- }
- };
-
- private static FileFilter DIRECTORY_FILTER = new FileFilter()
- {
- public boolean accept(File f)
- {
- return f.isDirectory() && !f.getName().startsWith("XXX");
- }
- };
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractSourceEditorTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractSourceEditorTestCase.java
deleted file mode 100644
index c6c49b4..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/AbstractSourceEditorTestCase.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.File;
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-import org.eclipse.photran.internal.core.util.SemanticError;
-
-public abstract class AbstractSourceEditorTestCase extends TestCase
-{
- private ASTExecutableProgramNode result = null;
-
- /**
- * Parses the given file as free form Fortran source code
- */
- public ASTExecutableProgramNode load(String filename) throws Exception
- {
- new AbstractParserTestCase(new File("../org.eclipse.photran.core.vpg.tests/source-editor-test-code/" + filename), false, AbstractSourceEditorTestCase.class.getName())
- {
- @Override
- protected void handleAST(ASTExecutableProgramNode ast) throws IOException, SemanticError
- {
- result = ast;
- }
- }.test();
-
- if (result == null) throw new Exception("Unable to parse " + filename);
- return result;
- }
-
- /**
- * Checks whether two ASTs produce identical source code
- */
- protected void assertEquals(ASTExecutableProgramNode expected, ASTExecutableProgramNode actual)
- {
- assertEquals(SourcePrinter.getSourceCodeFromAST(expected),
- SourcePrinter.getSourceCodeFromAST(actual));
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/FailingParserTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/FailingParserTestSuite.java
deleted file mode 100644
index 96b5b67..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/FailingParserTestSuite.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Set;
-
-/**
- * This is a special instance of {@link ParserTestSuite} which attempts to parse only files listed
- * in a PHOTRAN-PARSER-ERRORS.txt file in the project's directory.
- *
- * @author joverbey
- */
-public abstract class FailingParserTestSuite extends ParserTestSuite
-{
- public FailingParserTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
- {
- super(directorySuffix, isFixedForm, mustExist);
- }
-
- @Override protected boolean shouldSkip(File file, Set<String> filenamesToSkip)
- {
- return !super.shouldSkip(file, filenamesToSkip);
- }
-
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/LoopReplacerSRTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/LoopReplacerSRTestCase.java
deleted file mode 100644
index 05b160c..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/LoopReplacerSRTestCase.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.File;
-
-import org.eclipse.photran.internal.core.analysis.loops.LoopReplacer;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-
-public class LoopReplacerSRTestCase extends SourceReproductionTestCase
-{
- private long elapsedTime = 0L;
-
- public LoopReplacerSRTestCase(File file, boolean isFixedForm, String testCaseDescription)
- {
- super(file, isFixedForm, testCaseDescription);
- }
-
- @Override protected void transform(ASTExecutableProgramNode ast)
- {
- long start = System.currentTimeMillis();
-
- LoopReplacer.replaceAllLoopsIn(ast);
-
- elapsedTime = System.currentTimeMillis() - start;
- }
-
- public void testPerformance()
- {
- assertTrue("Loop replacer must complete in less than 5 seconds ("
- + (this.file == null ? "???" : this.file.getName())
- + " took "
- + ((elapsedTime/1000) + (elapsedTime%1000 > 500 ? 1 : 0))
- + " seconds)",
- elapsedTime < 5000);
- }
-
- public LoopReplacerSRTestCase() { super(null, false, ""); } // to keep JUnit quiet
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/LoopReplacerSRTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/LoopReplacerSRTestSuite.java
deleted file mode 100644
index 4c1288b..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/LoopReplacerSRTestSuite.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-public abstract class LoopReplacerSRTestSuite extends AbstractParserTestSuite
-{
- public LoopReplacerSRTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
- {
- super(directorySuffix, isFixedForm, mustExist);
- }
-
- @Override
- protected String describeTestAction()
- {
- return "Replace loops and reproduce source code for";
- }
-
- @Override
- protected AbstractParserTestCase createTestFor(File file, boolean isFixedForm, String fileDescription)
- {
- return new LoopReplacerSRTestCase(file, isFixedForm, fileDescription);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/MultiTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/MultiTestSuite.java
deleted file mode 100644
index 616eff5..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/MultiTestSuite.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.TestSuite;
-
-/**
- * An aggregate test suite that tests the parser, source reproducer, and loop replacer.
- *
- * @author Jeff Overbey
- */
-public class MultiTestSuite extends TestSuite
-{
- public MultiTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
- {
- setName("Running multiple tests on " + directorySuffix);
-
- addTest(new ParserTestSuite(directorySuffix, isFixedForm, mustExist) {});
-
- if (!isFixedForm)
- {
- addTest(new SourceReproductionTestSuite(directorySuffix, isFixedForm, mustExist) {});
- addTest(new LoopReplacerSRTestSuite(directorySuffix, isFixedForm, mustExist) {});
- }
- }
-
- public MultiTestSuite() {;} // to keep JUnit quiet
- public void test() {} // to keep JUnit quiet
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/ParserTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/ParserTestCase.java
deleted file mode 100644
index 2ab0089..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/ParserTestCase.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.File;
-
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-
-/**
- * A test case which runs the parser over a file, expecting a successful parse.
- * Created by {@link ParserTestSuite}.
- *
- * @author joverbey
- */
-public class ParserTestCase extends AbstractParserTestCase
-{
- public ParserTestCase(File file, boolean isFixedForm, String testCaseDescription)
- {
- super(file, isFixedForm, testCaseDescription);
- }
-
- @Override
- protected void handleAST(ASTExecutableProgramNode ast)
- {
- ;
- }
-
- public ParserTestCase() { super(null, false, ""); } // to keep JUnit quiet
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/ParserTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/ParserTestSuite.java
deleted file mode 100644
index 527698b..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/ParserTestSuite.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-/**
- * Creates a suite of {@link ParserTestCase} tests from Fortran source files in a particular directory.
- *
- * @author joverbey
- */
-public abstract class ParserTestSuite extends AbstractParserTestSuite
-{
- public ParserTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
- {
- super(directorySuffix, isFixedForm, mustExist);
- }
-
- @Override
- protected String describeTestAction()
- {
- return "Parse";
- }
-
- @Override
- protected AbstractParserTestCase createTestFor(File file, boolean isFixedForm, String fileDescription)
- {
- return new ParserTestCase(file, isFixedForm, fileDescription);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/SourceReproductionTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/SourceReproductionTestCase.java
deleted file mode 100644
index 2f4e734..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/SourceReproductionTestCase.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-
-public class SourceReproductionTestCase extends AbstractParserTestCase
-{
- public SourceReproductionTestCase(File file, boolean isFixedForm, String testCaseDescription)
- {
- super(file, isFixedForm, testCaseDescription);
- }
-
- @Override
- protected void handleAST(ASTExecutableProgramNode ast) throws IOException
- {
- String originalSourceCode = getSourceCodeFromFile(file);
- transform(ast);
- String reproducedSourceCode = getSourceCodeFromAST(ast);
- assertEquals(originalSourceCode, reproducedSourceCode);
- }
-
- protected void transform(ASTExecutableProgramNode ast)
- {
- // Subclass and override to transform AST first
- }
-
- private String getSourceCodeFromFile(File file) throws IOException
- {
- StringBuffer sb = new StringBuffer(4096);
- BufferedReader in = new BufferedReader(new FileReader(file));
- for (int ch = in.read(); ch >= 0; ch = in.read())
- sb.append((char)ch);
- in.close();
- return sb.toString();
- }
-
- private String getSourceCodeFromAST(ASTExecutableProgramNode ast)
- {
- return SourcePrinter.getSourceCodeFromAST(ast);
- }
-
- public SourceReproductionTestCase() { super(null, false, ""); } // to keep JUnit quiet
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/SourceReproductionTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/SourceReproductionTestSuite.java
deleted file mode 100644
index cd60d3e..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/SourceReproductionTestSuite.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-public abstract class SourceReproductionTestSuite extends AbstractParserTestSuite
-{
- public SourceReproductionTestSuite(String directorySuffix, boolean isFixedForm, boolean mustExist) throws FileNotFoundException, IOException
- {
- super(directorySuffix, isFixedForm, mustExist);
- }
-
- @Override
- protected String describeTestAction()
- {
- return "Reproduce source code for";
- }
-
- @Override
- protected AbstractParserTestCase createTestFor(File file, boolean isFixedForm, String fileDescription)
- {
- return new SourceReproductionTestCase(file, isFixedForm, fileDescription);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/addonlytousestmt/AddOnlyToUseTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/addonlytousestmt/AddOnlyToUseTestCase.java
deleted file mode 100644
index d21f85d..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/addonlytousestmt/AddOnlyToUseTestCase.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.addonlytousestmt;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.AddOnlyToUseStmtRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- *
- * @author Kurt Hendle
- */
-public class AddOnlyToUseTestCase extends RefactoringTestCase
-{
- private static final String DIR = "add-only-to-use-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String[] filenames;
- protected LineCol position;
- protected int length;
- protected boolean shouldFailPreconditionCheck;
- protected boolean shouldFailFinalPreconditionCheck;
- protected String[] entityNames = null;
-
- public AddOnlyToUseTestCase() {;}
-
- public AddOnlyToUseTestCase(String[] filenames, LineCol position, int length, boolean shouldFailPreconditionCheck,
- boolean shouldFailFinalPreCheck)
- {
- this(filenames, position, length, shouldFailPreconditionCheck,
- shouldFailFinalPreCheck, (String[])null);
- }
-
- public AddOnlyToUseTestCase(String[] filenames, LineCol position, int length, boolean shouldFailPreconditionCheck,
- boolean shouldFailFinalPreCheck, String... entityNames)
- {
- this.filenames = filenames;
- this.position = position;
- this.length = length;
- this.shouldFailPreconditionCheck = shouldFailPreconditionCheck;
- this.shouldFailFinalPreconditionCheck = shouldFailFinalPreCheck;
- this.entityNames = entityNames;
- this.setName("test");
- }
-
- protected void doRefactoring() throws Exception
- {
- String description = "Attempting to add ONLY clause to USE statement.";
-
- AddOnlyToUseStmtRefactoring refactoring = createRefactoring(filenames, position, length);
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
-
- if(shouldFailPreconditionCheck)
- assertTrue(description + " failed initial precondition check: " + status.toString(), status.hasError());
-
- if(entityNames != null)
- {
- for(int i=0; i<entityNames.length; i++)
- refactoring.addToOnlyList(entityNames[i]);
- }
-
- status = refactoring.checkFinalConditions(pm);
- if (shouldFailFinalPreconditionCheck)
- {
- assertTrue(description + "failed final precondition check: " + status.toString(), status.hasError());
- }
- else
- {
- assertTrue(description + "should not fail final precondition check: " + status.toString(), !status.hasError());
-
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
- }
- }
-
- private String readFileToString(final String path) throws IOException
- {
- FileInputStream stream = new FileInputStream(new File(path));
- return readStream(stream);
- }
-
- private AddOnlyToUseStmtRefactoring createRefactoring(final String[] filenames, final LineCol lineCol, final int length) throws Exception
- {
- for (int i = 1; i < filenames.length; i++)
- importFile(DIR, filenames[i]);
-
- final IFile file = importFile(DIR, filenames[0]);
- Document doc = new Document(readFileToString(DIR+"/"+filenames[0]));
- TextSelection text = new TextSelection(doc, getLineColOffset(filenames[0], lineCol), length);
- AddOnlyToUseStmtRefactoring r = new AddOnlyToUseStmtRefactoring();
- r.initialize(file, text);
- return r;
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- public void test() throws Exception
- {
- if (filenames == null) return; // when JUnit invokes this outside a test suite
-
- doRefactoring();
- if (!shouldFailPreconditionCheck && !shouldFailFinalPreconditionCheck)
- assertEquals(
- sanitize(readTestFile(filenames[0] + ".result")),
- sanitize(readWorkspaceFile(filenames[0])));
- }
-
- public String sanitize(String dirtyString)
- {
- return dirtyString.replaceAll("\r", "");
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/addonlytousestmt/AddOnlyToUseTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/addonlytousestmt/AddOnlyToUseTestSuite.java
deleted file mode 100644
index d5b693a..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/addonlytousestmt/AddOnlyToUseTestSuite.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.addonlytousestmt;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- *
- * @author Kurt Hendle
- */
-public class AddOnlyToUseTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
-
- //1. basic test, add no list, leave the file the same
- String[] test1Files = new String[] { "test1.f90", "module2.f90", "module3.f90", "module4.f90" };
- suite.addTest(successTest(test1Files, new LineCol(3,5), 7));
-
- //2. basic test, add list of given names
- String[] test2Files = new String[] { "test2.f90", "module2.f90", "module3.f90", "module4.f90" };
- suite.addTest(successTest(test2Files, new LineCol(3,5), 7, "help_common3", "onlyTest"));
-
- //3. precondition test - give an empty selection for module name
- String[] test3Files = new String[] { "test3.f90", "module2.f90", "module3.f90", "module4.f90", "module5.f90" };
- suite.addTest(finalPreconditionTest(test3Files, new LineCol(3,5), 0));
-
- //4. precondition test - give a non-existent module name
- String[] test4Files = new String[] { "test3.f90", "module2.f90", "module3.f90", "module4.f90", "module5.f90" };
- suite.addTest(finalPreconditionTest(test4Files, new LineCol(8,9), 5));
-
- //5. precondition test - give a module containing no declarations
- String[] test5Files = new String[] { "test3.f90", "module2.f90", "module3.f90", "module4.f90", "module5.f90" };
- suite.addTest(preconditionTest(test5Files, new LineCol(5,5), 7));
-
- //6. precondition test - have entity conflict with local variable
- String[] test6Files = new String[] { "test6.f90", "module4.f90" }; //v name conflict
- suite.addTest(finalPreconditionTest(test6Files, new LineCol(2,9), 7, "f"));
-
- //7. precondition test - have 2 modules in project with same name
- String[] test7Files = new String[] { "test7.f90", "module4.f90" };
- suite.addTest(preconditionTest(test7Files, new LineCol(2,9), 7));
-
- //8. precondition test - have 2 declarations of subroutine in same project
- String[] test8Files = new String[] { "test8.f90", "module4.f90" };
- suite.addTest(finalPreconditionTest(test8Files, new LineCol(2,9), 7, "help_common4"));
-
- return suite;
- }
-
- private static TestSuite successTest(String[] filenames, LineCol position, int length)
- {
- return successTest(filenames, position, length, (String[])null);
- }
-
- private static TestSuite successTest(String[] filenames, LineCol position, int length, String... entityNames)
- {
- TestSuite subSuite = new TestSuite("Adding ONLY clause to USE statement - " + filenames[0]);
- subSuite.addTest(new AddOnlyToUseTestCase(filenames, position, length, false, false, entityNames));
- return subSuite;
- }
-
- private static TestSuite preconditionTest(String[] filenames, LineCol position, int length, String... entityNames)
- {
- TestSuite subSuite = new TestSuite("Testing preconditions for adding ONLY to USE statement - " +
- filenames[0]);
- subSuite.addTest(new AddOnlyToUseTestCase(filenames, position, length, true, false, entityNames));
- return subSuite;
- }
-
- private static TestSuite finalPreconditionTest(String[] filenames, LineCol position, int length, String... entityNames)
- {
- TestSuite subSuite = new TestSuite("Testing final preconditions for adding ONLY to USE statement - " +
- filenames[0]);
- subSuite.addTest(new AddOnlyToUseTestCase(filenames, position, length, false, true, entityNames));
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestChangeText.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestChangeText.java
deleted file mode 100644
index d0e396c..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestChangeText.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.f_source_editing;
-
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTProgramNameNode;
-import org.eclipse.photran.internal.core.parser.ASTProgramStmtNode;
-import org.eclipse.photran.internal.core.parser.IProgramUnit;
-import org.eclipse.photran.internal.core.tests.AbstractSourceEditorTestCase;
-
-public class TestChangeText extends AbstractSourceEditorTestCase
-{
- public void testChangeProggie() throws Exception
- {
- ASTExecutableProgramNode ast = load("hello-1-initial.f90");
- IProgramUnit programUnit1 = ast.getProgramUnitList().get(0);
- ASTMainProgramNode mainProgram = (ASTMainProgramNode)programUnit1;
- ASTProgramStmtNode programStmt = mainProgram.getProgramStmt();
- ASTProgramNameNode programName = programStmt.getProgramName();
- Token proggie = programName.getProgramName();
-
- proggie.setText("p");
- assertEquals(load("hello-2-proggie-shorter.f90"), ast);
-
- proggie.setText("proggiedoggie");
- assertEquals(load("hello-3-proggie-longer.f90"), ast);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestRemove.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestRemove.java
deleted file mode 100644
index df98866..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/f_source_editing/TestRemove.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.f_source_editing;
-
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.IInternalSubprogram;
-import org.eclipse.photran.internal.core.parser.Parser.IASTListNode;
-import org.eclipse.photran.internal.core.tests.AbstractSourceEditorTestCase;
-
-public class TestRemove extends AbstractSourceEditorTestCase
-{
- public void testRemoveQ() throws Exception
- {
- ASTExecutableProgramNode ast = load("hello-1-initial.f90");
- IASTListNode<IInternalSubprogram> subprograms = ((ASTMainProgramNode)ast.getProgramUnitList().get(0)).getInternalSubprograms();
- subprograms.remove(0);
- assertEquals(load("hello-4-q-cut.f90"), ast);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/g_type_check/TypeCheckerTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/g_type_check/TypeCheckerTestCase.java
deleted file mode 100644
index 8e39f97..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/g_type_check/TypeCheckerTestCase.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.g_type_check;
-
-import java.io.ByteArrayInputStream;
-
-import junit.framework.TestCase;
-
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.analysis.types.TypeChecker;
-import org.eclipse.photran.internal.core.lexer.LexerFactory;
-import org.eclipse.photran.internal.core.lexer.SourceForm;
-import org.eclipse.photran.internal.core.parser.ASTAssignmentStmtNode;
-import org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.IExpr;
-import org.eclipse.photran.internal.core.parser.Parser;
-
-/**
- * Fortran type checker unit tests
- *
- * @author Stoyan Gaydarov
- */
-public class TypeCheckerTestCase extends TestCase
-{
-
- /** Parses a Fortran expression. Does not bind identifiers, etc. */
- private Type getType(String expression) throws Exception
- {
- // We can only parse entire programs, so we embed the expression in
- // a parseable program, then extract the expression from the program's AST
-
- String program = "a = " + expression + "\nend";
- ASTExecutableProgramNode ast = new Parser().parse(LexerFactory.createLexer(new ByteArrayInputStream(program.getBytes()), null, "<literal text>", SourceForm.UNPREPROCESSED_FREE_FORM, true /*false*/));
- assertNotNull(ast);
- ASTMainProgramNode mainProg = (ASTMainProgramNode)ast.getProgramUnitList().get(0);
- ASTAssignmentStmtNode assignmentStmt = (ASTAssignmentStmtNode)mainProg.getBody().get(0);
- IExpr exprNode = assignmentStmt.getRhs();
- return TypeChecker.getTypeOf(exprNode);
- }
-
- private String character = "\"Stoyan\""; // used for character type
-
- public void testConstantExpressionTypes() throws Exception
- {
- assertEquals(Type.INTEGER, getType("3"));
- assertEquals(Type.REAL, getType("3.0"));
- assertEquals(Type.CHARACTER, getType(character));
- assertEquals(Type.DOUBLEPRECISION, getType("3.0D+00"));
- assertEquals(Type.COMPLEX, getType("(3,3)"));
- assertEquals(Type.LOGICAL, getType(".true."));
- }
-
- public void testUnaryExpressionTypes() throws Exception
- {
- assertEquals(Type.INTEGER, getType("-3"));
- assertEquals(Type.INTEGER, getType("+3"));
- assertEquals(Type.TYPE_ERROR, getType(".NOT. 3"));
-
- assertEquals(Type.REAL, getType("-3.0"));
- assertEquals(Type.REAL, getType("+3.0"));
- assertEquals(Type.TYPE_ERROR, getType(".NOT. 3.0"));
-
- assertEquals(Type.DOUBLEPRECISION, getType("-3.0D+00"));
- assertEquals(Type.DOUBLEPRECISION, getType("+3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType(".NOT. 3.0D+00"));
-
- assertEquals(Type.COMPLEX, getType("-(3,3)"));
- assertEquals(Type.COMPLEX, getType("+(3,3)"));
- assertEquals(Type.TYPE_ERROR, getType(".NOT. (3,3)"));
-
- assertEquals(Type.TYPE_ERROR, getType("-" + character)); //??
- assertEquals(Type.TYPE_ERROR, getType("+" + character)); //??
- assertEquals(Type.TYPE_ERROR, getType(".NOT. " + character));
-
- assertEquals(Type.TYPE_ERROR, getType("-.true."));
- assertEquals(Type.TYPE_ERROR, getType("+.true."));
- assertEquals(Type.LOGICAL, getType(".NOT. .true."));
- }
-
- public void testConcatOperations() throws Exception
- {
- assertEquals(Type.UNKNOWN, getType(character + " // " + "1"));
- assertEquals(Type.UNKNOWN, getType(character + " // " + "3.2"));
- assertEquals(Type.UNKNOWN, getType(character + " // " + "43.3D+00"));
- assertEquals(Type.UNKNOWN, getType(character + " // " + "(6,7)"));
- assertEquals(Type.UNKNOWN, getType(character + " // " + ".true."));
- assertEquals(Type.CHARACTER, getType(character + " // " + character));
- }
-
- public void testGEOperator() throws Exception
- {
- testComparasonOperations(" .GE. ");
- }
-
- public void testGTOperator() throws Exception
- {
- testComparasonOperations(" .GT. ");
- }
-
- public void testLEOperator() throws Exception
- {
- testComparasonOperations(" .LE. ");
- }
-
- public void testLTOperator() throws Exception
- {
- testComparasonOperations(" .LT. ");
- }
-
- public void testNEOperator() throws Exception
- {
- testComparasonOperations(" .NE. ");
- }
-
- public void testEQOperator() throws Exception
- {
- testComparasonOperations(" .EQ. ");
- }
-
- private void testComparasonOperations(String op) throws Exception
- {
- if(op.equals(" .EQ. ") || op.equals(" .NE. "))
- {
- assertEquals(Type.LOGICAL, getType("8" + op + "(4,5)"));
- assertEquals(Type.LOGICAL, getType("3.6" + op + "(3,8)"));
- assertEquals(Type.LOGICAL, getType("3.2D+00" + op + "(4,9)"));
- assertEquals(Type.LOGICAL, getType("(4,8)" + op + "7"));
- assertEquals(Type.LOGICAL, getType("(4,3)" + op + "5.4"));
- assertEquals(Type.LOGICAL, getType("(4,6)" + op + "(4,9)"));
- assertEquals(Type.LOGICAL, getType("(3,0)" + op + "3.0D+00"));
- }
- else
- {
- assertEquals(Type.TYPE_ERROR, getType("8" + op + "(4,5)"));
- assertEquals(Type.TYPE_ERROR, getType("3.6" + op + "(3,8)"));
- assertEquals(Type.TYPE_ERROR, getType("3.2D+00" + op + "(4,9)"));
- assertEquals(Type.TYPE_ERROR, getType("(4,8)" + op + "7"));
- assertEquals(Type.TYPE_ERROR, getType("(4,3)" + op + "5.4"));
- assertEquals(Type.TYPE_ERROR, getType("(4,6)" + op + "(4,9)"));
- assertEquals(Type.TYPE_ERROR, getType("(3,0)" + op + "3.0D+00"));
- }
-
- assertEquals(Type.LOGICAL, getType("9" + op + "3"));
- assertEquals(Type.LOGICAL, getType("5" + op + "3.0"));
- assertEquals(Type.LOGICAL, getType("4" + op + "2.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType("3" + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType("1" + op + character));
-
- assertEquals(Type.LOGICAL, getType("3.0" + op + "7"));
- assertEquals(Type.LOGICAL, getType("3.3" + op + "3.5"));
- assertEquals(Type.LOGICAL, getType("4.0" + op + "3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType("3.2" + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType("4.1" + op + character));
-
- assertEquals(Type.LOGICAL, getType("3.1D+00" + op + "7"));
- assertEquals(Type.LOGICAL, getType("4.0D+00" + op + "5.4"));
- assertEquals(Type.LOGICAL, getType("5.0D+00" + op + "3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType("3.8D+00" + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType("2.1D+00" + op + character));
-
- assertEquals(Type.TYPE_ERROR, getType("(3,3)" + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType("(2,1)" + op + character));
-
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + "7"));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + "5.4"));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + "(4,9)"));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + "3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + character));
-
- assertEquals(Type.TYPE_ERROR, getType(character + op + "7"));
- assertEquals(Type.TYPE_ERROR, getType(character + op + "5.4"));
- assertEquals(Type.TYPE_ERROR, getType(character + op + "(4,9)"));
- assertEquals(Type.TYPE_ERROR, getType(character + op + "3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType(character + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType(character + op + "c"));
-
- }
-
- public void testLogicalOperations() throws Exception
- {
-
- assertEquals(Type.LOGICAL, getType(".true. .AND. .true."));
- assertEquals(Type.TYPE_ERROR, getType("1 .AND. .true."));
- assertEquals(Type.TYPE_ERROR, getType("4.3 .AND. .true."));
- assertEquals(Type.TYPE_ERROR, getType("4.2D+00 .AND. .true."));
- assertEquals(Type.TYPE_ERROR, getType("(3,4) .AND. .true."));
- assertEquals(Type.TYPE_ERROR, getType(character + " .AND. .true."));
-
- assertEquals(Type.LOGICAL, getType(".true. .OR. .true."));
- assertEquals(Type.TYPE_ERROR, getType("1 .OR. .true."));
- assertEquals(Type.TYPE_ERROR, getType("4.3 .OR. .true."));
- assertEquals(Type.TYPE_ERROR, getType("4.2D+00 .OR. .true."));
- assertEquals(Type.TYPE_ERROR, getType("(3,4) .OR. .true."));
- assertEquals(Type.TYPE_ERROR, getType(character + " .OR. .true."));
-
- assertEquals(Type.LOGICAL, getType(".true. .EQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType("1 .EQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType("4.3 .EQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType("4.2D+00 .EQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType("(3,4) .EQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType(character + " .EQV. .true."));
-
- assertEquals(Type.LOGICAL, getType(".true. .NEQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType("1 .NEQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType("4.3 .NEQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType("4.2D+00 .NEQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType("(3,4) .NEQV. .true."));
- assertEquals(Type.TYPE_ERROR, getType(character + " .NEQV. .true."));
-
- }
-
- public void testAddExpressionTypes() throws Exception
- {
- testOpExpressionTypes("+");
- }
-
- public void testSubtractExpressionTypes() throws Exception
- {
- testOpExpressionTypes("-");
- }
-
- public void testMultiplyExpressionTypes() throws Exception
- {
- testOpExpressionTypes("*");
- }
-
- public void testDivisionExpressionTypes() throws Exception
- {
- testOpExpressionTypes("/");
- }
-
- public void testPowerExpressionTypes() throws Exception
- {
- testOpExpressionTypes("**");
- }
-
- private void testOpExpressionTypes(String op) throws Exception
- {
-
- assertEquals(Type.INTEGER, getType("9" + op + "3"));
- assertEquals(Type.REAL, getType("5" + op + "3.0"));
- assertEquals(Type.COMPLEX, getType("8" + op + "(4,5)"));
- assertEquals(Type.DOUBLEPRECISION, getType("4" + op + "2.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType("3" + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType("1" + op + character));
-
- assertEquals(Type.REAL, getType("3.0" + op + "7"));
- assertEquals(Type.REAL, getType("3.3" + op + "3.5"));
- assertEquals(Type.COMPLEX, getType("3.6" + op + "(3,8)"));
- assertEquals(Type.DOUBLEPRECISION, getType("4.0" + op + "3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType("3.2" + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType("4.1" + op + character));
-
- assertEquals(Type.COMPLEX, getType("(4,8)" + op + "7"));
- assertEquals(Type.COMPLEX, getType("(4,3)" + op + "5.4"));
- assertEquals(Type.COMPLEX, getType("(4,6)" + op + "(4,9)"));
- assertEquals(Type.COMPLEX, getType("(3,0)" + op + "3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType("(3,3)" + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType("(2,1)" + op + character));
-
- assertEquals(Type.DOUBLEPRECISION, getType("3.1D+00" + op + "7"));
- assertEquals(Type.DOUBLEPRECISION, getType("4.0D+00" + op + "5.4"));
- assertEquals(Type.COMPLEX, getType("3.2D+00" + op + "(4,9)"));
- assertEquals(Type.DOUBLEPRECISION, getType("5.0D+00" + op + "3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType("3.8D+00" + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType("2.1D+00" + op + character));
-
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + "7"));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + "5.4"));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + "(4,9)"));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + "3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType(".true." + op + character));
-
- assertEquals(Type.TYPE_ERROR, getType(character + op + "7"));
- assertEquals(Type.TYPE_ERROR, getType(character + op + "5.4"));
- assertEquals(Type.TYPE_ERROR, getType(character + op + "(4,9)"));
- assertEquals(Type.TYPE_ERROR, getType(character + op + "3.0D+00"));
- assertEquals(Type.TYPE_ERROR, getType(character + op + ".true."));
- assertEquals(Type.TYPE_ERROR, getType(character + op + "c"));
-
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/h_interface_links/InterfaceLinkTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/h_interface_links/InterfaceLinkTestCase.java
deleted file mode 100644
index f9ecbd8..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/h_interface_links/InterfaceLinkTestCase.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.h_interface_links;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.lexer.Token;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- * Unit tests for {@link Definition#resolveInterfaceBinding()}
- * and {@link Definition#findMatchingDeclarationsInInterfaces()}
- *
- * @author Jeff Overbey
- */
-public class InterfaceLinkTestCase extends RefactoringTestCase
-{
- private static final String DIR = "interface-test-code";
-
- private IFile interface1;
- private IFile definition1;
- private IFile definition2;
- private IFile interface2;
-
- private Definition if1;
- private Definition if2;
- private Definition if3;
- private Definition if4;
- private Definition def1;
- private Definition def2;
- private Definition def3;
-
- @Override public void setUp() throws Exception
- {
- super.setUp();
-
- /* The four files are imported in this order so that
- * the INTERFACE block in the first file is seen /before/
- * all of the corresponding subprogram declarations,
- * while the INTERFACE block in the last file is seen
- * /after/ all of the corresponding subprograms.
- */
-
- interface1 = importFile(DIR, "interface1.f90");
- definition1 = importFile(DIR, "definition1.f90");
- definition2 = importFile(DIR, "definition2.f90");
- interface2 = importFile(DIR, "interface2.f90");
- // File Line Column
- if1 = findDefinition(interface1, 2, 20); // Ordinary INTERFACE block
- if2 = findDefinition(interface1, 10, 24); // INTERFACE block for a subprogram parameter
- if3 = findDefinition(interface1, 17, 24); // Ordinary INTERFACE block
- if4 = findDefinition(interface2, 2, 20); // Ordinary INTERFACE block
- def1 = findDefinition(interface1, 24, 18);
- def2 = findDefinition(definition1, 1, 18);
- def3 = findDefinition(definition2, 1, 18);
- }
-
- public void testResolveInterfaceBinding() throws Exception
- {
- checkContainsAllDefinitions(if1.resolveInterfaceBinding());
- assertTrue(if2.resolveInterfaceBinding().isEmpty()); // Interface for subprogram parameter
- checkContainsAllDefinitions(if3.resolveInterfaceBinding());
- checkContainsAllDefinitions(if4.resolveInterfaceBinding());
- }
-
- public void testFindMatchingDeclarationsInInterfaces() throws Exception
- {
- checkContainsAllInterfaces(def1.findMatchingDeclarationsInInterfaces());
- checkContainsAllInterfaces(def2.findMatchingDeclarationsInInterfaces());
- checkContainsAllInterfaces(def3.findMatchingDeclarationsInInterfaces());
- }
-
- private void checkContainsAllDefinitions(Collection<Definition> defs)
- {
- assertEquals(3, defs.size());
- assertTrue(defs.contains(def1));
- assertTrue(defs.contains(def2));
- assertTrue(defs.contains(def3));
- }
-
- private void checkContainsAllInterfaces(Collection<Definition> defs)
- {
- assertEquals(3, defs.size());
- assertTrue(defs.contains(if1));
- assertFalse(defs.contains(if2)); // Interface for subprogram parameter
- assertTrue(defs.contains(if3));
- assertTrue(defs.contains(if4));
- }
-
- private Definition findDefinition(IFile file, int line, int col)
- {
- IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(file); assertNotNull(ast);
- Token token = findTokenByLineCol(ast, line, col); assertNotNull(token);
- List<Definition> defs = token.resolveBinding(); assertEquals(1, defs.size());
- Definition def = defs.get(0);
- assertEquals(file, def.getTokenRef().getFile());
- assertEquals(token.getFileOffset(), def.getTokenRef().getOffset());
- return def;
- }
-
- private Token findTokenByLineCol(IFortranAST ast, int line, int col)
- {
- for (Token token : ast)
- if (token.getLine() == line && token.getCol() == col)
- return token;
-
- return null;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/i_list_all/ListAllModulesTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/i_list_all/ListAllModulesTestCase.java
deleted file mode 100644
index a1cb083..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/i_list_all/ListAllModulesTestCase.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.i_list_all;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- * Unit tests for {@link PhotranVPG#listAllModules()}
- *
- * @author Jeff Overbey
- */
-public class ListAllModulesTestCase extends RefactoringTestCase
-{
- private static final String DIR = "vpg-list-test-code";
-
- @Override public void setUp() throws Exception
- {
- super.setUp();
-
- /* The files are imported in this order so that the USE
- * statement in use-module1.f90 is seen /before/
- * the module declaration, while the USE statement for
- * module 4 is seen after it. Module2 and module3
- * are not used.
- */
-
- importFile(DIR, "use-module1.f90");
- importFile(DIR, "module1.f90");
- importFile(DIR, "module2-module3.f90");
- importFile(DIR, "module4.f90");
- importFile(DIR, "use-module4.f90");
- PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
- //PhotranVPG.getDatabase().printOn(System.out);
- }
-
- public void testListAllModules() throws Exception
- {
- assertCollectionsEqual(
- new String[] { "module1", "module2", "module3", "module4" },
- PhotranVPG.getInstance().listAllModules());
- }
-
- private <T> void assertCollectionsEqual(T[] expectedArray, Iterable<T> actualIterable)
- {
- List<T> expected = Arrays.asList(expectedArray);
-
- List<T> actual = new ArrayList<T>();
- for (T entry : actualIterable)
- actual.add(entry);
-
- assertEquals(expected, actual);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/makeprivatepublic/MakePrivateEntityPublicTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/makeprivatepublic/MakePrivateEntityPublicTestCase.java
deleted file mode 100644
index e3e1883..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/makeprivatepublic/MakePrivateEntityPublicTestCase.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.makeprivatepublic;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.MakePrivateEntityPublicRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- *
- * @author Kurt Hendle
- */
-public class MakePrivateEntityPublicTestCase extends RefactoringTestCase
-{
- private static final String DIR = "make-private-entity-public-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String filename;
- protected LineCol position;
- protected int length;
- protected boolean shouldFailPreconditionCheck;
-
- public MakePrivateEntityPublicTestCase() {;}
-
- public MakePrivateEntityPublicTestCase(String filename, LineCol position, int length, boolean shouldFailPreconditionCheck)
- {
- this.filename = filename;
- this.position = position;
- this.length = length;
- this.shouldFailPreconditionCheck = shouldFailPreconditionCheck;
- this.setName("test");
- }
-
- protected void doRefactoring() throws Exception
- {
- String description = "Attempting to make selected private variable public.";
-
- MakePrivateEntityPublicRefactoring refactoring = createRefactoring(filename, position, length);
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
-
- if(shouldFailPreconditionCheck)
- assertTrue(description + " failed initial precondition check: " + status.toString(), status.hasError());
-
- status = refactoring.checkFinalConditions(pm);
- assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
- if(!shouldFailPreconditionCheck)
- {
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
- }
- }
-
- private MakePrivateEntityPublicRefactoring createRefactoring(final String filename, final LineCol lineCol, final int length) throws Exception
- {
- final IFile file = importFile(DIR, filename);
- Document doc = new Document(readFileToString(DIR+"/"+filename));
- TextSelection text = new TextSelection(doc, getLineColOffset(filename, lineCol), length);
- MakePrivateEntityPublicRefactoring r = new MakePrivateEntityPublicRefactoring();
- r.initialize(file, text);
- return r;
- }
-
- private String readFileToString(final String path) throws IOException
- {
- FileInputStream stream = new FileInputStream(new File(path));
- return readStream(stream);
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- public void test() throws Exception
- {
- if(filename == null) return;
-
- doRefactoring();
- if(!shouldFailPreconditionCheck)
- assertEquals(
- sanitize(readTestFile(filename + ".result")),
- sanitize(readWorkspaceFile(filename)));
- }
-
- public String sanitize(String dirtyString)
- {
- return dirtyString.replaceAll("\r", "");
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/makeprivatepublic/MakePrivateEntityPublicTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/makeprivatepublic/MakePrivateEntityPublicTestSuite.java
deleted file mode 100644
index 1ae4c49..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/makeprivatepublic/MakePrivateEntityPublicTestSuite.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.makeprivatepublic;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- *
- * @author Kurt Hendle
- */
-public class MakePrivateEntityPublicTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
-
- //1. functionality test - multiple variables in list
- suite.addTest(successTest("priv1.f90",new LineCol(4,13), 1));
-
- //2. functionality test - single variable list (simply change private to public)
- suite.addTest(successTest("priv2.f90",new LineCol(5,13), 1));
-
- //3. functionality test - single variable, private statement in declaration attributes
- suite.addTest(successTest("test3.f90", new LineCol(3,25), 1));
-
- //4. functionality test - multiple variables, private statement in declaration attributes
- suite.addTest(successTest("test4.f90", new LineCol(3,22), 4));
-
- //5. functionality test - single var, private stmt and other attributes in declaration
- suite.addTest(successTest("test5.f90", new LineCol(3,35), 5));
-
- //6. functionality test - mult. vars., private stmt and other attributes in declaration
- suite.addTest(successTest("test6.f90", new LineCol(3,42), 4));
-
- //7. functionality test - private statement alone, all program entities private
- suite.addTest(successTest("test7.f90", new LineCol(6,23), 4));
- suite.addTest(successTest("test7_1.f90", new LineCol(6,23), 4));
-
- //8. precondition test - empty selection ""
- suite.addTest(preconditionTest("priv1.f90", new LineCol(3,13), 0));
-
- //9. precondition test - select variable which is not tagged private
- suite.addTest(preconditionTest("priv1.f90", new LineCol(3,16), 1));
- suite.addTest(preconditionTest("testFile1.f90", new LineCol(4,13), 1));
-
- //10. precondition test - select a public variable
- suite.addTest(preconditionTest("priv2.f90", new LineCol(6,12), 1));
- suite.addTest(preconditionTest("testFile1.f90", new LineCol(11,15), 1));
-
- //11. precondition test - test if possible to make definition public
- // NOTE: will fail til ScopingNode#canAddDefinition is added
- // FIXME JO suite.addTest(preconditionTest("main.f90", new LineCol(19,24), 8));
-
- //12. functionality test - subroutine/function made private by a lone private stmt
- suite.addTest(successTest("test12.f90", new LineCol(6,16), 6));
-
- //13 precondition test - subroutine/function not made private
- suite.addTest(preconditionTest("test13.f90", new LineCol(16,14), 3));
-
- return suite;
- }
-
- private static TestSuite successTest(String filename, LineCol position, int length)
- {
- TestSuite subSuite = new TestSuite("Making private variable public - " + filename);
- subSuite.addTest(new MakePrivateEntityPublicTestCase(filename, position, length, false));
- return subSuite;
- }
-
- private static TestSuite preconditionTest(String filename, LineCol position, int length)
- {
- TestSuite subSuite = new TestSuite("Testing preconditions for making private entity public - " +
- filename);
- subSuite.addTest(new MakePrivateEntityPublicTestCase(filename, position, length, true));
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/minonlylist/MinOnlyListTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/minonlylist/MinOnlyListTestCase.java
deleted file mode 100644
index 74c46e6..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/minonlylist/MinOnlyListTestCase.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.minonlylist;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.MinOnlyListRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- *
- * @author Kurt Hendle
- */
-public class MinOnlyListTestCase extends RefactoringTestCase
-{
- private static final String DIR = "min-only-list-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String[] filenames;
- protected LineCol position;
- protected int length;
- protected boolean shouldFailPreconditionCheck;
- protected boolean shouldFailFinalPreCheck;
-
- public MinOnlyListTestCase() {;}
-
- public MinOnlyListTestCase(String[] filenames, LineCol position, int length, boolean shouldFailPreconditionCheck)
- {
- this.filenames = filenames;
- this.position = position;
- this.length = length;
- this.shouldFailPreconditionCheck = shouldFailPreconditionCheck;
- this.setName("test");
- }
-
- protected void doRefactoring() throws Exception
- {
- String description = "Attempting to minimize ONLY list.";
-
- MinOnlyListRefactoring refactoring = createRefactoring(filenames, position, length);
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
-
- if(shouldFailPreconditionCheck)
- assertTrue(description + " failed initial precondition check: " + status.toString(), status.hasError());
-
- status = refactoring.checkFinalConditions(pm);
- if (shouldFailPreconditionCheck)
- { //no error will show up since nothing done in final check conditions
- assertTrue(description + "failed final precondition check: " + status.toString(), !status.hasError());
- }
- else
- {
- assertTrue(description + "should not fail final precondition check: " + status.toString(), !status.hasError());
-
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
- }
- }
-
- private MinOnlyListRefactoring createRefactoring(final String[] filenames, final LineCol lineCol, final int length) throws Exception
- {
- for (int i = 1; i < filenames.length; i++)
- importFile(DIR, filenames[i]);
-
- final IFile file = importFile(DIR, filenames[0]);
- Document doc = new Document(readFileToString(DIR+"/"+filenames[0]));
- TextSelection text = new TextSelection(doc, getLineColOffset(filenames[0], lineCol), length);
- MinOnlyListRefactoring r = new MinOnlyListRefactoring();
- r.initialize(file, text);
- return r;
- }
-
- private String readFileToString(final String path) throws IOException
- {
- FileInputStream stream = new FileInputStream(new File(path));
- return readStream(stream);
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- public void test() throws Exception
- {
- if(filenames == null) return;
-
- doRefactoring();
- if(!shouldFailPreconditionCheck)
- assertEquals(
- sanitize(readTestFile(filenames[0] + ".result")),
- sanitize(readWorkspaceFile(filenames[0])));
- }
-
- public String sanitize(String dirtyString)
- {
- return dirtyString.replaceAll("\r", "");
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/minonlylist/MinOnlyListTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/minonlylist/MinOnlyListTestSuite.java
deleted file mode 100644
index 78b78a1..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/minonlylist/MinOnlyListTestSuite.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.minonlylist;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-/**
- *
- * @author Kurt Hendle
- */
-public class MinOnlyListTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
-
- //1. functionality test - all module entities used, remove list
- String[] test1Files = {"test1.f90", "module.f90"};
- suite.addTest(successTest(test1Files, new LineCol(2,9), 6));
-
- //2. functionality test - remove the unused module entity from the list
- String[] test2Files = {"test2.f90", "module.f90"};
- suite.addTest(successTest(test2Files, new LineCol(2,9), 6));
-
- //3. functionality test - no module entities used, remove the use statement
- String[] test3Files = {"test3.f90", "module.f90"};
- suite.addTest(successTest(test3Files, new LineCol(2,9), 6));
-
- //4. precondition test - select empty module name
- String[] test4and5Files = {"test4_5.f90", "module.f90"};
- suite.addTest(preconditionTest(test4and5Files, new LineCol(2,9), 0));
-
- //5. precondition test - empty module selected
- suite.addTest(preconditionTest(test4and5Files, new LineCol(3,9), 11));
-
- //6. precondition test - nonexistant module selected
- String[] test6Files = {"test6.f90", "module.f90"};
- suite.addTest(preconditionTest(test6Files, new LineCol(3,9), 11));
-
- //7. precondition test - select entity which is not module
- String[] test7Files = {"test7.f90", "module.f90"};
- suite.addTest(preconditionTest(test7Files, new LineCol(4,16), 1));
-
- //8. functionality test - renamed module var, module same file
- String[] test8Files = {"program3.f90"};
- suite.addTest(successTest(test8Files, new LineCol(6,9), 1));
-
- //9. functionality test - remove an unused entity, module same file
- String[] test9Files = {"program2.f90"};
- suite.addTest(successTest(test9Files, new LineCol(6,9), 1));
-
- //10. functionality test - no only list, 1 unused, module same file
- String[] test10Files = {"program1.f90"};
- suite.addTest(successTest(test10Files, new LineCol(6,9), 1));
-
- return suite;
- }
-
- private static TestSuite successTest(String[] filenames, LineCol position, int length)
- {
- TestSuite subSuite = new TestSuite("Minimizing only List - " + filenames[0]);
- subSuite.addTest(new MinOnlyListTestCase(filenames, position, length, false));
- return subSuite;
- }
-
- private static TestSuite preconditionTest(String[] filenames, LineCol position, int length)
- {
- TestSuite subSuite = new TestSuite("Testing preconditions for minimizing only list - " +
- filenames[0]);
- subSuite.addTest(new MinOnlyListTestCase(filenames, position, length, true));
- return subSuite;
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/HugeFile.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/HugeFile.java
deleted file mode 100644
index 4886d19..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/HugeFile.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.ByteArrayInputStream;
-
-import junit.framework.TestCase;
-
-import org.eclipse.photran.internal.core.lexer.IAccumulatingLexer;
-import org.eclipse.photran.internal.core.lexer.LexerFactory;
-import org.eclipse.photran.internal.core.lexer.SourceForm;
-import org.eclipse.photran.internal.core.lexer.Terminal;
-import org.eclipse.photran.internal.core.lexer.preprocessor.fortran_include.IncludeLoaderCallback;
-import org.eclipse.photran.internal.core.parser.Parser;
-
-/**
- * These are meant to be used as performance tests. When this one of the test methods in this class is run standalone with
- * JVM arguments such as
- * <pre>-Xmx512M -Xrunhprof:cpu=samples,depth=5,file=/Users/joverbey/Desktop/java.hprof.txt</pre>,
- * the profile can be used to find bottlenecks in the lexer or parser code.
- *
- * @author Jeff Overbey
- */
-public class HugeFile extends TestCase
-{
- private String hugeFile = null;
-
- public void test() { /* Uncomment below */ }
-
-// public void setUp()
-// {
-// long start = System.currentTimeMillis();
-// StringBuilder sb = new StringBuilder();
-// sb.append("program p\n");
-// for (int i = 0; i < 30000; i++)
-// sb.append(" print *, 3+4*5\n");
-// //sb.append(" print *, \"----+----|----+----|----+----|----+----|----+----|----+----|----+----|----+----|\"\n");
-// sb.append("end");
-// hugeFile = sb.toString();
-// System.out.println("String building: " + (System.currentTimeMillis() - start));
-// }
-//
-// public void testLexHugeFile() throws Exception
-// {
-// ByteArrayInputStream in = new ByteArrayInputStream(hugeFile.getBytes());
-//
-// long start = System.currentTimeMillis();
-// IAccumulatingLexer lexer = LexerFactory.createLexer(in, "<stdin>", SourceForm.preprocessedFreeForm(new IncludeLoaderCallback(null)), true);
-// while (lexer.yylex().getTerminal() != Terminal.END_OF_INPUT)
-// ;
-// System.out.println("Lexing: " + (System.currentTimeMillis() - start));
-// }
-//
-// public void testParseHugeFile() throws Exception
-// {
-// ByteArrayInputStream in = new ByteArrayInputStream(hugeFile.getBytes());
-//
-// long start = System.currentTimeMillis();
-// IAccumulatingLexer lexer = LexerFactory.createLexer(in, "<stdin>", SourceForm.preprocessedFreeForm(new IncludeLoaderCallback(null)), true);
-// new Parser().parse(lexer);
-// System.out.println("Parsing: " + (System.currentTimeMillis() - start));
-// }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseFortran2003TestFiles.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseFortran2003TestFiles.java
deleted file mode 100644
index 7f3f4ea..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseFortran2003TestFiles.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseFortran2003TestFiles
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("fortran2003_tests", false, true) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectCollections.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectCollections.java
deleted file mode 100644
index 194f9c9..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectCollections.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectCollections
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.collections", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialArjanVanDijkAtmos.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialArjanVanDijkAtmos.java
deleted file mode 100644
index 6820af9..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialArjanVanDijkAtmos.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialArjanVanDijkAtmos
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.arjan-van-dijk-atmos", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialAsteroids.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialAsteroids.java
deleted file mode 100644
index 0752f55..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialAsteroids.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialAsteroids
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.asteroids", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialFMLIB.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialFMLIB.java
deleted file mode 100644
index f6510c1..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialFMLIB.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialFMLIB
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.fmlib", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialFromTheWWW.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialFromTheWWW.java
deleted file mode 100644
index 200adbc..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialFromTheWWW.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialFromTheWWW
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.from-the-www", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialIBEAMCppMod.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialIBEAMCppMod.java
deleted file mode 100644
index 02458bc..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialIBEAMCppMod.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialIBEAMCppMod
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.ibeam-cpp-mod", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialLAPACK.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialLAPACK.java
deleted file mode 100644
index af7dcff..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialLAPACK.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialLAPACK
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.lapack", true, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialNagleFortran2003.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialNagleFortran2003.java
deleted file mode 100644
index 8316c13..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialNagleFortran2003.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialNagleFortran2003
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.nagle-fortran2003", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialPOP.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialPOP.java
deleted file mode 100644
index bd5a06b..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialPOP.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialPOP
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.pop", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWRF.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWRF.java
deleted file mode 100644
index d2ec195..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWRF.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialWRF
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.wrf", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdFortran2003.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdFortran2003.java
deleted file mode 100644
index f528887..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdFortran2003.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialWaltBrainerdFortran2003
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-fortran2003", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdTestSuiteFixed.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdTestSuiteFixed.java
deleted file mode 100644
index 7624881..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdTestSuiteFixed.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialWaltBrainerdTestSuiteFixed
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-test-suite",
- true, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdTestSuiteFree.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdTestSuiteFree.java
deleted file mode 100644
index 62392b0..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectConfidentialWaltBrainerdTestSuiteFree.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectConfidentialWaltBrainerdTestSuiteFree
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.confidential.walt-brainerd-test-suite",
- false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectString.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectString.java
deleted file mode 100644
index 62c2df2..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseProjectString.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseProjectString
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-projects.string", false, false) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseRefactoringTestFiles.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseRefactoringTestFiles.java
deleted file mode 100644
index 58e40a1..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseRefactoringTestFiles.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseRefactoringTestFiles
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("refactoring_test_files", false, true) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseRegressionTests.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseRegressionTests.java
deleted file mode 100644
index 3556c33..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseRegressionTests.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseRegressionTests
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("reg_tests", false, true) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseSamples.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseSamples.java
deleted file mode 100644
index 4e9f698..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/projects/ParseSamples.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.projects;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.tests.MultiTestSuite;
-
-public class ParseSamples
-{
- public static Test suite() throws FileNotFoundException, IOException
- {
- return new MultiTestSuite("../../org.eclipse.photran-samples", false, true) {};
- }
-}
\ No newline at end of file
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/serialization/TestVPGSerializer.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/serialization/TestVPGSerializer.java
deleted file mode 100644
index 7bf1be4..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/serialization/TestVPGSerializer.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.serialization;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.Serializable;
-
-import junit.framework.TestCase;
-
-import org.eclipse.photran.internal.core.analysis.binding.Definition;
-import org.eclipse.photran.internal.core.analysis.binding.Definition.Classification;
-import org.eclipse.photran.internal.core.analysis.types.DerivedType;
-import org.eclipse.photran.internal.core.analysis.types.FunctionType;
-import org.eclipse.photran.internal.core.analysis.types.Type;
-import org.eclipse.photran.internal.core.vpg.PhotranTokenRef;
-import org.eclipse.photran.internal.core.vpg.PhotranVPGSerializer;
-
-/**
- * Tests serialization and deserialization using the {@link PhotranVPGSerializer}
- *
- * @author Jeff Overbey
- */
-public class TestVPGSerializer extends TestCase
-{
- public void test() throws IOException
- {
- check(null);
-
- check("Hello");
- check("");
-
- check(3);
- check(100);
- check(-999);
- check(Integer.MAX_VALUE);
- check(Integer.MIN_VALUE);
-
- check(Type.INTEGER);
- check(Type.REAL);
- check(Type.DOUBLEPRECISION);
- check(Type.COMPLEX);
- check(Type.LOGICAL);
- check(Type.CHARACTER);
- check(Type.UNKNOWN);
- check(Type.VOID);
- check(Type.TYPE_ERROR);
- check(new PhotranTokenRef("/your/place/a.f90", -1, 0));
- check(new PhotranTokenRef("Test", 3, 5));
- check(new Definition("declaredName", new PhotranTokenRef("", -1, 0), Classification.ENUMERATOR, Type.INTEGER));
- check(new DerivedType("my_type"));
- check(new DerivedType("AnotherType"));
- check(new FunctionType("a_function"));
- check(new FunctionType("f"));
- }
-
- private void check(Serializable object) throws IOException
- {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
-
- PhotranVPGSerializer.serialize(object, out);
-
- ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
- Serializable deserializedObject = PhotranVPGSerializer.deserialize(in);
-
- assertEquals(object, deserializedObject);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/x_cpreprocessor/CPreprocessorTests.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/x_cpreprocessor/CPreprocessorTests.java
deleted file mode 100644
index 3f61415..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/internal/core/tests/x_cpreprocessor/CPreprocessorTests.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.internal.core.tests.x_cpreprocessor;
-
-import java.util.ArrayList;
-
-import junit.framework.TestCase;
-
-import org.eclipse.cdt.core.dom.ast.IASTComment;
-import org.eclipse.cdt.core.dom.ast.IASTFileLocation;
-import org.eclipse.cdt.core.dom.ast.IASTImageLocation;
-import org.eclipse.cdt.core.dom.ast.IASTPreprocessorMacroExpansion;
-import org.eclipse.cdt.core.dom.ast.IASTPreprocessorStatement;
-import org.eclipse.cdt.core.dom.parser.c.GCCScannerExtensionConfiguration;
-import org.eclipse.cdt.core.parser.CodeReader;
-import org.eclipse.cdt.core.parser.EndOfFileException;
-import org.eclipse.cdt.core.parser.IToken;
-import org.eclipse.cdt.core.parser.NullLogService;
-import org.eclipse.cdt.core.parser.OffsetLimitReachedException;
-import org.eclipse.cdt.core.parser.ParserLanguage;
-import org.eclipse.cdt.core.parser.ScannerInfo;
-import org.eclipse.cdt.internal.core.dom.NullCodeReaderFactory;
-import org.eclipse.cdt.internal.core.parser.scanner.CPreprocessor;
-import org.eclipse.cdt.internal.core.parser.scanner.ILocationResolver;
-
-/**
- *
- * @author joverbey
- */
-@SuppressWarnings("restriction")
-public class CPreprocessorTests extends TestCase
-{
- private static class MyToken
- {
- IToken token;
- boolean isPreprocessed;
- }
-
- public void test1() throws OffsetLimitReachedException
- {
-// String source =
-// "q\n#define HELLO w\n" +
-// "// Try this\n" +
-// "HELLO/* */ hh \"wo\" \"rld\" ??( HELLO ??)\n" +
-// " # define W(Z) #Z\n" +
-// "a W(bc) d e";
-//
-// CPreprocessor cpp = createCPP(source);
-// //cpp.setComputeImageLocations(true);
-// ArrayList<MyToken> toks = collectTokens(cpp);
-//
-// for (MyToken t : toks)
-// describe(cpp, t.token);
-//
-// for (IASTPreprocessorStatement s : cpp.getLocationMap().getAllPreprocessorStatements())
-// System.out.println(s + " - " + s.getFileLocation());
-//
-// int lastOffset = 0;
-// for (MyToken t : toks)
-// {
-// if (!t.isPreprocessed)
-// {
-// // This offset is actually a "sequence number" (which is affected
-// // by macro expansions and so forth)...
-// int midOffset = t.token.getOffset();
-// int nextOffset = t.token.getEndOffset();
-//
-// // ...which we have to map back to a location in the original file
-// IASTFileLocation fl = cpp.getLocationResolver().getMappedFileLocation(midOffset, nextOffset-midOffset);
-// midOffset = fl.getNodeOffset();
-// nextOffset = midOffset + fl.getNodeLength();
-//
-// System.err.print("[");
-// System.err.print(source.substring(lastOffset, midOffset));
-// System.err.print("|");
-// String textFromFile = source.substring(midOffset, nextOffset);
-// if (t.token.getImage().equals(textFromFile))
-// System.err.print(textFromFile);
-// else
-// System.err.print(textFromFile + "/" + t.token.getImage());
-// System.err.print("]");
-// lastOffset = nextOffset;
-// }
-// }
-// System.err.println();
-//
-// for (MyToken t : toks)
-// System.out.print(t.token.getImage() + " ");
-// }
-//
-// private ArrayList<MyToken> collectTokens(CPreprocessor cpp) throws OffsetLimitReachedException
-// {
-// ArrayList<MyToken> toks = new ArrayList<MyToken>();
-// for (;;)
-// {
-// MyToken t = new MyToken();
-// t.token = cpp.nextTokenRaw(); // gcc -E does not concatenate adjacent string literals
-//
-// if (t.token.getType() == IToken.tEND_OF_INPUT)
-// break;
-//
-// if (!cpp.isOnTopContext() || cpp.getLocationMap().getImageLocation(t.token.getOffset(), t.token.getLength()) == null)
-// t.isPreprocessed = true;
-// else
-// t.isPreprocessed = false;
-//
-// toks.add(t);
-// }
-// return toks;
-// }
-//
-// private void describe(CPreprocessor cpp, final IToken t)
-// {
-// System.out.println(t.getImage() + " --- " + t.getOffset() + "/" + t.getLength() + " --- " + t.getType() + " --- " + t.getClass().getName());
-//
-// ILocationResolver locMap = cpp.getLocationMap();
-// IASTImageLocation imgLoc = locMap.getImageLocation(t.getOffset(), t.getLength());
-// if (imgLoc != null)
-// System.out.println(imgLoc.getFileName() + " " + imgLoc.getNodeOffset() + "/" + imgLoc.getNodeLength() + " -- " + describeImageLocationKind(imgLoc.getLocationKind()));
-//
-// System.out.println(locMap.getUnpreprocessedSignature(imgLoc));
-// }
-//
-// private String describeImageLocationKind(int k)
-// {
-// switch (k)
-// {
-// case IASTImageLocation.REGULAR_CODE: return "REGULAR_CODE";
-// case IASTImageLocation.MACRO_DEFINITION: return "MACRO_DEFINITION";
-// case IASTImageLocation.ARGUMENT_TO_MACRO_EXPANSION: return "ARGUMENT_TO_MACRO_EXPANSION";
-// default: return Integer.toString(k);
-// }
-// }
-//
-// private CPreprocessor createCPP(String source)
-// {
-// return new CPreprocessor(new CodeReader(source.toCharArray()),
-// new ScannerInfo(), ParserLanguage.C, new NullLogService(),
-// new GCCScannerExtensionConfiguration(), NullCodeReaderFactory.getInstance());
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/Activator.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/Activator.java
deleted file mode 100644
index 69486e1..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/Activator.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.photran.core.vpg.tests";
-
- // The shared instance
- private static Activator plugin;
-
- /**
- * The constructor
- */
- public Activator() {
- plugin = this;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
- */
- public void start(BundleContext context) throws Exception {
- super.start(context);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/BaseTestFramework.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/BaseTestFramework.java
deleted file mode 100644
index c42aedb..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/BaseTestFramework.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-/*
- * Created on Oct 4, 2004
- */
-package org.eclipse.photran.refactoring.tests;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import junit.framework.TestCase;
-
-import org.eclipse.cdt.core.CCorePlugin;
-import org.eclipse.cdt.core.dom.IPDOMManager;
-import org.eclipse.cdt.core.model.ICProject;
-import org.eclipse.cdt.core.testplugin.CProjectHelper;
-import org.eclipse.cdt.core.testplugin.FileManager;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-/**
- * Copied and modified from org.eclipse.cdt.core.tests.BaseTestFramework
- *
- * @author aniefer
- * @author Jeff Overbey - Modified so that every test case creates a new project
- * (hack to resolve weird file deletion problems in Windows)
- */
-abstract public class BaseTestFramework extends TestCase {
- static protected NullProgressMonitor monitor;
- static protected IWorkspace workspace;
- static protected IProject project;
- static protected ICProject cproject;
- static protected FileManager fileManager;
- static protected boolean indexDisabled=false;
-
- static int n = 0;
-
- static void initProject() {
- if (project != null) {
- return;
- }
- if( CCorePlugin.getDefault() != null && CCorePlugin.getDefault().getCoreModel() != null){
- //(CCorePlugin.getDefault().getCoreModel().getIndexManager()).reset();
- monitor = new NullProgressMonitor();
-
- workspace = ResourcesPlugin.getWorkspace();
-
- try {
- cproject = CProjectHelper.createCCProject("PhotranTestProject" + (++n), "bin", IPDOMManager.ID_NO_INDEXER); //$NON-NLS-1$ //$NON-NLS-2$
-
- project = cproject.getProject();
-
- /*project.setSessionProperty(SourceIndexer.activationKey, Boolean.FALSE );
- //Set the id of the source indexer extension point as a session property to allow
- //index manager to instantiate it
- project.setSessionProperty(IndexManager.indexerIDKey, sourceIndexerID);*/
-
-
-
- } catch ( CoreException e ) {
- /*boo*/
- }
- if (project == null)
- fail("Unable to create project"); //$NON-NLS-1$
-
- //Create file manager
- fileManager = new FileManager();
- }
- }
-
- public BaseTestFramework()
- {
- super();
- }
- /**
- * @param name
- */
- public BaseTestFramework(String name)
- {
- super(name);
- }
-
- public void cleanupProject() throws Exception {
- try{
- project.delete( true, false, monitor );
- } catch( Throwable e ){
- /*boo*/
- } finally {
- project= null;
- }
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- initProject();
- }
-
- protected void tearDown() throws Exception {
- if( project == null || !project.exists() )
- return;
-
-// IResource [] members = project.members();
-// for( int i = 0; i < members.length; i++ ){
-// if( members[i].getName().equals( ".project" ) || members[i].getName().equals( ".cproject" ) ) //$NON-NLS-1$ //$NON-NLS-2$
-// continue;
-// if (members[i].getName().equals(".settings"))
-// continue;
-// try{
-// members[i].delete( false, monitor );
-// } catch( Throwable e ){
-// /*boo*/
-// }
-// }
-
- try {
- project.delete(true, true, new NullProgressMonitor());
- } catch( Throwable e ){
- /* boo */
- project.close(new NullProgressMonitor());
- // To speed things up a bit and conserve memory...
- PhotranVPG.getInstance().releaseAllASTs();
- PhotranVPG.getDatabase().clearDatabase();
- }
- project = null;
- }
- protected IFile importFile(String fileName, String contents ) throws Exception{
- //Obtain file handle
- IFile file = project.getProject().getFile(fileName);
-
- InputStream stream = new ByteArrayInputStream( contents.getBytes() );
- //Create file input stream
- if( file.exists() )
- file.setContents( stream, false, false, monitor );
- else
- file.create( stream, false, monitor );
-
- fileManager.addFile(file);
-
- return file;
- }
-
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/RefactoringTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/RefactoringTestCase.java
deleted file mode 100644
index 1b0daea..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/RefactoringTestCase.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-
-public abstract class RefactoringTestCase extends BaseTestFramework
-{
- private static HashMap<String, ArrayList<Integer>> lineMaps = new HashMap<String, ArrayList<Integer>>();
-
- public RefactoringTestCase()
- {
- if (!PhotranVPG.inTestingMode()) fail("WHEN RUNNING JUNIT TESTS, THE \"TESTING\" ENVIRONMENT VARIABLE MUST BE SET");
- }
-
- protected IFile importFile(String srcDir, String filename) throws Exception
- {
- //project.getProject().getFile(filename).delete(true, new NullProgressMonitor());
- IFile result = super.importFile(filename, readTestFile(srcDir, filename));
- //project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- return result;
- }
-
- protected String readTestFile(String srcDir, String filename) throws IOException, URISyntaxException
- {
- ArrayList<Integer> lineMap = new ArrayList<Integer>(50);
- lineMaps.put(filename, lineMap);
- lineMap.add(0); // Offset of line 1
- return readStream(lineMap, Activator.getDefault().getBundle().getResource(srcDir + "/" + filename).openStream());
- }
-
- protected String readStream(ArrayList<Integer> lineMap, InputStream inputStream) throws IOException
- {
- StringBuffer sb = new StringBuffer(4096);
- BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
- for (int offset = 0, ch = in.read(); ch >= 0; ch = in.read())
- {
- sb.append((char)ch);
- offset++;
-
- if (ch == '\n' && lineMap != null)
- {
- //System.out.println("Line " + (lineMap.size()+1) + " starts at offset " + offset);
- lineMap.add(offset);
- }
- }
- in.close();
- return sb.toString();
- }
-
- protected String readStream(InputStream inputStream) throws IOException
- {
- return readStream(null, inputStream);
- }
-
- protected String readWorkspaceFile(String filename) throws IOException, CoreException
- {
- return readStream(project.getFile(filename).getContents());
- }
-
- /**
- * @param filename
- * @param line line number, starting at 1
- * @param col column number, starting at 1
- */
- protected int getLineColOffset(String filename, LineCol lineCol)
- {
- return lineMaps.get(filename).get(lineCol.getLine()-1) + (lineCol.getCol()-1);
- }
-
- public void testLevenshtein()
- {
- assertEquals(0, levenshteinDistance("", ""));
- assertEquals(0, levenshteinDistance("kitten", "kitten"));
- assertEquals(6, levenshteinDistance("", "kitten"));
- assertEquals(6, levenshteinDistance("kitten", ""));
- assertEquals(3, levenshteinDistance("kitten", "sitting"));
- assertEquals(3, levenshteinDistance("kitten", "kit"));
- assertEquals(1, levenshteinDistance("kitten", "kittten"));
- assertEquals(2, levenshteinDistance("kitten", "kien"));
- }
-
- /**
- * Computes the Levenshtein distance between two strings.
- *
- * Based on pseudocode from http://en.wikipedia.org/wiki/Levenshtein_distance
- *
- * @return the Levenshtein distance between <code>s</code> and <code>t</code>
- */
- protected int levenshteinDistance(String s, String t)
- {
- int m = s.length(), n = t.length();
-
- int[][] d = new int[m+1][n+1];
-
- for (int i = 1; i <= m; i++)
- d[i][0] = i;
- for (int j = 1; j <= n; j++)
- d[0][j] = j;
-
- for (int i = 1; i <= m; i++)
- {
- for (int j = 1; j <= n; j++)
- {
- int cost = s.charAt(i-1) == t.charAt(j-1) ? 0 : 1;
- d[i][j] = min(d[i-1][j] + 1, // deletion
- d[i][j-1] + 1, // insertion
- d[i-1][j-1] + cost); // substitution
- }
- }
-
- return d[m][n];
- }
-
- private int min(int a, int b, int c)
- {
- return Math.min(Math.min(a, b), c);
- }
-
- protected void assertLevDist(String errorMessage, int expected, String s, String t)
- {
- int actual = levenshteinDistance(s, t);
-
- if (actual != expected)
- {
- // Use assertEquals so that JUnit will pop up a comparison viewer
- assertEquals("Unexpected Levenshtein distance " + actual + " (expected " + expected + ") " + errorMessage,
- s,
- t);
- }
- }
-
- /**
- * If the environment variables COMPILER and EXECUTABLE are set during the JUnit run,
- * compiles and runs the Fortran program being refactored and returns the output of
- * the compilation and execution. Otherwise, returns the empty string.
- * <p>
- * (This is intended to allow developers creating refactorings to test their refactorings
- * by actually compiling the code, while not forcing other developers to do so, since
- * it can be time-consuming. Tests should NOT assume that a compiler is available.)
- * <p>
- * This will compile the file(s) that are currently being refactored (i.e., the files
- * imported into the test project using {@link #importFile(String, String)}) into a
- * single executable, and then run that executable. This can be invoked before and
- * after a refactoring is performed to make sure runtime behavior is actually preserved
- * for the test program. If a specific ordering of the filenames is desired, it
- * must be passed as an argument to this method; otherwise, all *.f* resources in the
- * test project will be passed to the compiler in no specific order.
- * <p>
- * COMPILER must be set to the path of your Fortran compiler, e.g.,
- * /usr/local/gfortran/bin/gfortran
- * <p>
- * EXECUTABLE gives a path for the generated executable, e.g.,
- * /Users/joverbey/fortran-test-program.exe
- * <p>
- * The actual command line that is invoked is printed to standard output.
- * <p>
- * NOTE: Occasionally, the last part of the output from the Fortran program may seem to
- * be missing. (This may be a gfortran-specific problem.) You should include a
- * statement to manually flush the output to ensure that your test cases always pass.
- * In gfortran, you can "CALL FLUSH" to invoke the (proprietary) flush intrinsic; or
- * there is also a FLUSH statement in Fortran 2003.
- *
- * @return the output from the compiler and executable
- * @throws Exception
- */
- protected String compileAndRunFortranProgram(String... filenamesOpt) throws Exception
- {
- String compiler = System.getenv("COMPILER");
- if (compiler == null) return "";
-
- String exe = System.getenv("EXECUTABLE");
- if (exe == null) return "";
-
- ArrayList<String> args = new ArrayList<String>(8);
- args.add(compiler);
- args.add("-o");
- args.add(exe);
- if (filenamesOpt == null || filenamesOpt.length == 0)
- {
- for (IResource res : project.members())
- if (res instanceof IFile && res.getFileExtension().startsWith("f"))
- args.add(res.getName());
- }
- else
- {
- for (String filename : filenamesOpt)
- args.add(filename);
- }
-
- System.out.println(toString(args));
-
- ProcessBuilder builder = new ProcessBuilder(args);
- builder.directory(project.getLocation().toFile());
- builder.redirectErrorStream(true);
- Process process = builder.start();
- ConcurrentReader output = new ConcurrentReader(process.getInputStream());
- synchronized (output)
- {
- output.start();
- int exitCode = process.waitFor();
- if (exitCode != 0)
- fail("Compilation exited abnormally with exit code " + exitCode + "\n" + output.toString());
- waitFor(output);
- }
-
- builder = new ProcessBuilder(exe);
- builder.directory(project.getLocation().toFile());
- builder.redirectErrorStream(true);
- process = builder.start();
- ConcurrentReader output2 = new ConcurrentReader(process.getInputStream());
- synchronized (output2)
- {
- output2.start();
- int exitCode = process.waitFor();
- if (exitCode != 0)
- fail("Compilation succeeded, but execution exited abnormally with exit code " + exitCode + "\n" + output.toString() + "\n" + output2.toString());
- waitFor(output2);
- }
-
- return output.toString() + "\n" + output2.toString();
- }
-
- private void waitFor(ConcurrentReader output)
- {
- try
- {
- output.wait();
- }
- catch (InterruptedException e)
- {
- }
- }
-
- private String toString(ArrayList<String> args)
- {
- StringBuilder sb = new StringBuilder();
- for (int i = 0; i < args.size(); i++)
- sb.append((i == 0 ? "" : " ") + args.get(i));
- return sb.toString();
- }
-
- private static class ConcurrentReader extends Thread
- {
- private InputStream stdout;
- private StringBuilder sb;
-
- public ConcurrentReader(InputStream stdout)
- {
- this.stdout = stdout;
- this.sb = new StringBuilder();
- }
-
- @Override public void run()
- {
- BufferedReader in = new BufferedReader(new InputStreamReader(stdout));
- try
- {
- for (String line = in.readLine(); line != null; line = in.readLine())
- {
- sb.append(line);
- sb.append('\n');
- }
- done();
- }
- catch (IOException e)
- {
- sb.append(e.toString());
- }
- finally
- {
- try
- {
- in.close();
- }
- catch (IOException e)
- {
- sb.append(e.toString());
- }
- }
- }
-
- private synchronized void done()
- {
- notifyAll();
- }
-
- @Override public String toString()
- {
- return sb.toString();
- }
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/commonblockvarnames/CommonVarNamesTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/commonblockvarnames/CommonVarNamesTestCase.java
deleted file mode 100644
index 06ee45e..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/commonblockvarnames/CommonVarNamesTestCase.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.commonblockvarnames;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.nio.MappedByteBuffer;
-import java.nio.channels.FileChannel;
-import java.nio.charset.Charset;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.CommonVarNamesRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- * Test case for the Make Common Variable Names Consistent refactoring
- *
- * @author Kurt Hendle
- * @author Jeff Overbey
- *
- * @see CommonVarNamesTestSuite
- */
-public class CommonVarNamesTestCase extends RefactoringTestCase
-{
- private static final String DIR = "make-common-var-names-consist-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String[] filenames;
- protected LineCol position;
- protected int length;
- protected boolean shouldFailPreconditionCheck;
- protected String[] newNames = null;
-
- public CommonVarNamesTestCase() {;}
-
- public CommonVarNamesTestCase(String[] filenames, LineCol position, int length, boolean shouldFailPreconditionCheck)
- {
- this(filenames, position, length, shouldFailPreconditionCheck, (String[])null);
- }
-
- public CommonVarNamesTestCase(String[] filenames, LineCol position, int length, boolean shouldFailPreconditionCheck,
- String... newNames)
- {
- this.filenames = filenames;
- this.position = position;
- this.length = length;
- this.shouldFailPreconditionCheck = shouldFailPreconditionCheck;
- this.newNames = newNames;
- this.setName("test");
- }
-
- /** very similar to the other refactoring tests */
- protected void doRefactoring() throws Exception
- {
- String description = "Attempting to make COMMON variables consistent throughout project.";
-
- CommonVarNamesRefactoring refactoring = createRefactoring(filenames, position, length);
-
-// project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-// String before = compileAndRunFortranProgram();
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
- assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
- if(newNames != null)
- {
- for(int i=0; i<newNames.length; i++)
- refactoring.modifyNewName(i, newNames[i]);
- }
-
- status = refactoring.checkFinalConditions(pm);
- if (shouldFailPreconditionCheck)
- {
- assertTrue(description + " should have failed final precondition check: " + status.toString(), status.hasError());
- }
- else
- {
- assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
-
- // String after = compileAndRunFortranProgram();
- // System.out.println(after);
- // assertEquals(before, after);
- }
- }
-
- private CommonVarNamesRefactoring createRefactoring(final String[] filenames, final LineCol lineCol, final int length) throws Exception
- {
- for (int i = 1; i < filenames.length; i++)
- importFile(DIR, filenames[i]);
-
- final IFile file = importFile(DIR, filenames[0]);
- Document doc = new Document(readFileToString(DIR+"/"+filenames[0]));
- TextSelection text = new TextSelection(doc, getLineColOffset(filenames[0], lineCol), length);
- CommonVarNamesRefactoring r = new CommonVarNamesRefactoring();
- r.initialize(file, text);
- return r;
- }
-
- private String readFileToString(final String path) throws IOException
- {
- FileInputStream stream = new FileInputStream(new File(path));
- return readStream(stream);
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- /**
- * Borrowed from IntroImplicitTestCase.java
- */
- public void test() throws Exception
- {
- if (filenames == null) return; // when JUnit invokes this outside a test suite
-
- doRefactoring();
- if (!shouldFailPreconditionCheck)
- {
- for (String filename : filenames)
- {
- assertEquals(readTestFile(filename + ".result"), // expected result
- readWorkspaceFile(filename)); // actual refactored file
- }
- }
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/commonblockvarnames/CommonVarNamesTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/commonblockvarnames/CommonVarNamesTestSuite.java
deleted file mode 100644
index 0284cf2..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/commonblockvarnames/CommonVarNamesTestSuite.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.commonblockvarnames;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Tests for the Make Common Variable Names Consistent refactoring
- *
- * @author Kurt Hendle
- * @author Jeff Overbey
- */
-public class CommonVarNamesTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
-
- // In the following, the line/column refers to a location in the first file listed
-
- // 1. Basic check across multiple files
- String[] test1Files = new String[] { "common1.f90", "common2.f90", "common3.f90", "common4.f90" };
- suite.addTest(successTest(test1Files, new LineCol(7,9), 5));
-
- //0. basic test with one file
- // -used to test the static data cleanup and implicit typing
- suite.addTest(successTest(new String[] {"justCommons1.f90"}, new LineCol(7,13), 5));
- suite.addTest(successTest(new String[] {"justCommons2.f90"}, new LineCol(2,13), 5));
-
- // 2. Basic check across multiple files with names provided
- String[] test2Files = new String[] { "namesProv1.f90", "namesProv2.f90" };
- suite.addTest(successTest(test2Files, new LineCol(3,13), 5, "a_hello", "b_hello", "c_hello"));
-
- //suite.addTest(successTest(new String[] {"justCommons1.f90"}, new LineCol(7,13), 5, "i_hello", "j_hello"));
-
- // 3. Two of the common block variable names should stay the same in one declaration of the common block
- String[] test3Files = new String[] { "sameName1.f90", "sameName2.f90" };
- // FIXME JO suite.addTest(successTest(test3Files, new LineCol(3,13), 5, "a", "b", "this_is_renamed"));
-
- // 4. One declaration of the common block does not contain all the variables in the block
- String[] test4Files = new String[] { "short1.f90" };
- suite.addTest(successTest(test4Files, new LineCol(4,11), 5, "aaa", "bbb", "ccc"));
- String[] test4Files2 = new String[] { "short2.f90" };
- suite.addTest(successTest(test4Files2, new LineCol(20,11), 5, "aaa", "bbb"));
-
- // 5. Precondition test -- make sure naming conflict is avoided
- String[] test5Files = new String[] { "common1.f90", "common2.f90", "common3.f90", "common4.f90" };
- // vvvvvv conflicts with a subroutine
- suite.addTest(preconditionTest(test5Files, new LineCol(7,9), 5, "a_hello", "helper", "c_hello"));
- // vvvvvvvvvvvv conflicts with a subroutine
- suite.addTest(preconditionTest(test5Files, new LineCol(7,9), 5, "help_common2", "b_hello", "c_hello"));
-
- // 6. Precondition tests -- the variables must have the same types in every declaration of the common block
- String[] test6Files = new String[] { "typesDiffer1.f90" };
- suite.addTest(preconditionTest(test6Files, new LineCol(4,11), 5));
- suite.addTest(preconditionTest(test6Files, new LineCol(20,11), 5));
- suite.addTest(preconditionTest(new String[]{"typesDiffer2.f90"}, new LineCol(2,12), 5));
-
- return suite;
- }
-
- private static TestSuite successTest(String[] filenames, LineCol position, int length)
- {
- return successTest(filenames, position, length, (String[])null);
- }
-
- private static TestSuite successTest(String[] filenames, LineCol position, int length, String... newVarNames)
- {
- TestSuite subSuite = new TestSuite("Making COMMON variable names consistent - " + filenames[0]);
- subSuite.addTest(new CommonVarNamesTestCase(filenames, position, length, false, newVarNames));
- return subSuite;
- }
-
- private static TestSuite preconditionTest(String[] filenames, LineCol position, int length, String... newVarNames)
- {
- TestSuite subSuite = new TestSuite("Testing preconditions for making COMMON variable names consistent - " +
- filenames[0]);
- subSuite.addTest(new CommonVarNamesTestCase(filenames, position, length, true, newVarNames));
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableFailTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableFailTestCase.java
deleted file mode 100644
index e10c6c7..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableFailTestCase.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.encapsulatevariable;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.EncapsulateVariableRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-
-/**
- *
- * @author Tim
- */
-public class EncapsulateVariableFailTestCase extends EncapsulateVariableTestCase
-{
- private ArrayList<String> myFailFilenames;
- private String failSelectionFile;
- private ITextSelection failSelection;
- private boolean isFatal;
-
- public EncapsulateVariableFailTestCase(){;}
-
- public EncapsulateVariableFailTestCase(ArrayList<String> fNames, String selectionfName, boolean isFatal, Object ignore)
- {
- super(fNames, selectionfName, ignore);
- myFailFilenames = fNames;
- failSelectionFile = selectionfName;
- this.isFatal = isFatal;
- }
-
- @Override
- protected void setSelection(String fContent, String filename)
- {
- int startOffset = fContent.indexOf("!") + 1;
- int endOffset = fContent.indexOf(System.getProperty("line.separator"), startOffset);
- if(endOffset <= 0)
- endOffset = fContent.indexOf("\n", startOffset);
-
- String infoString = fContent.substring(startOffset, endOffset);
- String [] res = infoString.split(",");
-
- if(res.length < 3 || res.length > 3)
- throw new Error("Malformed test case");
-
- int line = Integer.parseInt(res[0]);
- int col = Integer.parseInt(res[1]);
- int length = Integer.parseInt(res[2]);
-
- LineCol lineCol = new LineCol(line, col);
-
- int actualOffset = getLineColOffset(filename, lineCol);
-
- failSelection = new TextSelection(actualOffset, length);
- }
-
- @Override
- protected void doRefactoring() throws Exception
- {
- IFile selFile = getFileAndSetSelection(DIR, failSelectionFile);
-
- for(String fName : myFailFilenames)
- {
- getFile(DIR, fName);
- }
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- String before = compileAndRunFortranProgram();
-
- EncapsulateVariableRefactoring refactoring = new EncapsulateVariableRefactoring();
- refactoring.initialize(selFile, failSelection);
-
- String description = "Attempt to encapsulate variables in " + failSelectionFile;
-
- RefactoringStatus status = refactoring.checkAllConditions(new NullProgressMonitor());
- if(isFatal)
- assertTrue(status.hasFatalError());
- else
- assertTrue(status.hasError());
- }
-
- public void test() throws Exception
- {
- if(myFailFilenames == null)
- return;
-
- doRefactoring();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableTestCase.java
deleted file mode 100644
index 1a6be1b..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableTestCase.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.encapsulatevariable;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.EncapsulateVariableRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- *
- * @author Tim
- */
-public class EncapsulateVariableTestCase extends RefactoringTestCase
-{
- private ArrayList<String> myFilenames;
- private String selectionFile;
- public static final String DIR = "encapsulate-variable-test-code";
- private ITextSelection selection;
- private NullProgressMonitor pm = new NullProgressMonitor();
-
- public EncapsulateVariableTestCase(){;}
-
- public EncapsulateVariableTestCase(ArrayList<String> fNames, String selectionfName, Object ignore)
- {
- myFilenames = fNames;
- selectionFile = selectionfName;
- this.setName("test");
- }
-
- protected void doRefactoring() throws Exception
- {
- IFile selFile = getFileAndSetSelection(DIR, selectionFile);
-
- for(String fName : myFilenames)
- {
- getFile(DIR, fName);
- }
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- String before = compileAndRunFortranProgram();
-
- EncapsulateVariableRefactoring refactoring = new EncapsulateVariableRefactoring();
- refactoring.initialize(selFile, selection);
-
- String description = "Attempt to encapsulate variables in " + selectionFile;
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
- assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
- status = refactoring.checkFinalConditions(pm);
- assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
-
- project.refreshLocal(IResource.DEPTH_INFINITE, pm);
-
- String after = compileAndRunFortranProgram();
- System.out.println(after);
- assertEquals(before, after);
- }
-
- protected IFile getFile(String dir, String fName) throws Exception
- {
- String text = super.readTestFile(DIR, fName);
- return importFile(dir, fName);
- }
-
- protected IFile getFileAndSetSelection(String dir, String fName) throws Exception
- {
- String text = super.readTestFile(DIR, fName);
- setSelection(text, fName);
- return importFile(dir, fName);
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- protected void setSelection(String fContent, String filename)
- {
- int startOffset = fContent.indexOf("!") + 1;
- int endOffset = fContent.indexOf(System.getProperty("line.separator"), startOffset);
- if(endOffset <= 0)
- endOffset = fContent.indexOf("\n", startOffset);
-
- String infoString = fContent.substring(startOffset, endOffset);
- String [] res = infoString.split(",");
-
- if(res.length < 3 || res.length > 3)
- throw new Error("Malformed test case");
-
- int line = Integer.parseInt(res[0]);
- int col = Integer.parseInt(res[1]);
- int length = Integer.parseInt(res[2]);
-
- LineCol lineCol = new LineCol(line, col);
-
- int actualOffset = getLineColOffset(filename, lineCol);
-
- selection = new TextSelection(actualOffset, length);
- }
-
- /*protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }*/
-
- public void test() throws Exception
- {
- if (myFilenames == null) return; // when JUnit invokes this outside a test suite
-
- doRefactoring();
- String expected = readTestFile(selectionFile + ".result");
- String actual = readWorkspaceFile(selectionFile);
-
- assertEquals(sanitize(expected), sanitize(actual));
-
- for(String fName : myFilenames)
- {
- String loopExpected = readTestFile(fName + ".result");
- String loopActual = readWorkspaceFile(fName);
- assertEquals(sanitize(loopExpected), sanitize(loopActual));
- }
- }
-
- public String sanitize(String dirtyString)
- {
- return dirtyString.replaceAll("\r", "");
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableTestSuite.java
deleted file mode 100644
index 60a0bb0..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/encapsulatevariable/EncapsulateVariableTestSuite.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.encapsulatevariable;
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- *
- * @author Tim
- */
-public class EncapsulateVariableTestSuite extends TestSuite
-{
- public static Test suite()
- {
- TestSuite suite = new TestSuite();
- ArrayList<String> lst1 = new ArrayList<String>();
- lst1.add("module1.f90");
-
- ArrayList<String> emptyList = new ArrayList<String>();
-
- //Pass pass
- suite.addTest(getSuiteFor(lst1, "test-simple01.f90"));
- suite.addTest(getSuiteFor(emptyList, "test-encap-01a-basic-integer.f90"));
- suite.addTest(getSuiteFor(emptyList, "test-encap-01b-basic-real.f90"));
- suite.addTest(getSuiteFor(emptyList, "test-encap-01c-basic-dt.f90"));
- suite.addTest(getSuiteFor(emptyList, "test-encap-02-contains.f90"));
- suite.addTest(getSuiteFor(emptyList, "test-encap-03-expr.f90"));
-
- //Fail pass
- suite.addTest(getFatalFailSuite(emptyList, "test-encap-04-nosetter-parameter.f90"));
- suite.addTest(getFatalFailSuite(emptyList, "test-encap-06a-fail-array.f90"));
- suite.addTest(getFatalFailSuite(emptyList, "test-encap-06c-fail-allocatable1.f90"));
- suite.addTest(getFatalFailSuite(emptyList, "test-encap-06d-fail-allocatable2.f90"));
- suite.addTest(getFatalFailSuite(emptyList, "test-encap-06b-fail-pointer.f90"));
- suite.addTest(getFatalFailSuite(emptyList, "test-encap-06e-fail-target.f90"));
- suite.addTest(getNonFatalFailSuite(emptyList, "test-encap-05a-fail-conflict.f90"));
-
-
- return suite;
- }
-
- public static TestSuite getSuiteFor(ArrayList<String> fNames, String selectionFile)
- {
- TestSuite subSuite = new TestSuite("Encapsulate variable in " + selectionFile);
- subSuite.addTest(new EncapsulateVariableTestCase(fNames, selectionFile, null));
- return subSuite;
- }
-
- public static TestSuite getFatalFailSuite(ArrayList<String> fNames, String selectionFile)
- {
- TestSuite subSuite = new TestSuite("Encapsulate variable in " + selectionFile);
- subSuite.addTest(new EncapsulateVariableFailTestCase(fNames, selectionFile, true, null));
- return subSuite;
- }
-
- public static TestSuite getNonFatalFailSuite(ArrayList<String> fNames, String selectionFile)
- {
- TestSuite subSuite = new TestSuite("Encapsulate variable in " + selectionFile);
- subSuite.addTest(new EncapsulateVariableFailTestCase(fNames, selectionFile, false, null));
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/extractprocedure/ExtractProcTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/extractprocedure/ExtractProcTestCase.java
deleted file mode 100644
index ebe6bdb..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/extractprocedure/ExtractProcTestCase.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.extractprocedure;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.ExtractProcedureRefactoring;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-public class ExtractProcTestCase extends RefactoringTestCase
-{
- private static final String DIR = "extract-proc-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String filename = null;
- protected ITextSelection selectionToExtract = null;
-
- public ExtractProcTestCase() {;} // when JUnit invokes a subclass outside a test suite
-
- public ExtractProcTestCase(String filename, Object ignored) // avoid JUnit constructor
- {
- this.filename = filename;
- this.setName("test");
- }
-
- protected void doRefactoring() throws Exception
- {
- String description = "Attempt to extract procedure from " + filename;
-
- ExtractProcedureRefactoring refactoring = createRefactoring(filename);
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- String before = compileAndRunFortranProgram();
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
- assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
- refactoring.setName("new_procedure");
-
- status = refactoring.checkFinalConditions(pm);
- assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-
- String after = compileAndRunFortranProgram();
- System.out.println(after);
- assertEquals(before, after);
- }
-
- private ExtractProcedureRefactoring createRefactoring(final String filename) throws Exception
- {
- final IFile thisFile = importFile(DIR, filename);
- ExtractProcedureRefactoring r = new ExtractProcedureRefactoring();
- r.initialize(thisFile, selectionToExtract);
- return r;
- }
-
- @Override protected String readTestFile(String srcDir, String filename) throws IOException, URISyntaxException
- {
- String result = super.readTestFile(srcDir, filename);
-
- int startOffset = result.lastIndexOf('\n', result.indexOf("!<<<<<START")) + 1;
- int endOffset = result.indexOf("!<<<<<END");
- if (startOffset <= 0 || endOffset < 0 || endOffset <= startOffset)
- throw new Error("Malformed test case");
-
- selectionToExtract = new TextSelection(startOffset, endOffset-startOffset);
-
- return result;
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- /**
- * Given an array with all of the positions of identifiers that should be renamed together, try applying the Rename refactoring to
- * each, and make sure all the others change with it.
- */
- public void test() throws Exception
- {
- if (filename == null) return; // when JUnit invokes this outside a test suite
-
- doRefactoring();
- assertEquals(
- readTestFile(filename + ".result").replaceAll("\\r", ""), // expected result
- readWorkspaceFile(filename).replaceAll("\\r", "")); // actual refactored file
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/extractprocedure/ExtractProcTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/extractprocedure/ExtractProcTestSuite.java
deleted file mode 100644
index 590ce69..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/extractprocedure/ExtractProcTestSuite.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.extractprocedure;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class ExtractProcTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
- suite.addTest(getSuiteFor("test01-simple.f90"));
- suite.addTest(getSuiteFor("test02-locals.f90"));
- suite.addTest(getSuiteFor("test03-locals2.f90"));
- suite.addTest(getSuiteFor("test04-in-loop.f90"));
- suite.addTest(getSuiteFor("test05-parameter.f90"));
- suite.addTest(getSuiteFor("test06-parameter.f90"));
- suite.addTest(getSuiteFor("test07-attribs.f90"));
- return suite;
- }
-
- private static TestSuite getSuiteFor(String baseFilename)
- {
- TestSuite subSuite = new TestSuite("Extracting Procedures from " + baseFilename);
- subSuite.addTest(new ExtractProcTestCase(baseFilename, null));
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/CheckCanAddDeclTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/CheckCanAddDeclTestCase.java
deleted file mode 100644
index 0d73940..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/CheckCanAddDeclTestCase.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.infrastructure;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.parser.ASTMainProgramNode;
-import org.eclipse.photran.internal.core.parser.ASTModuleNode;
-import org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.AbstractFortranRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- * Unit tests for {@link PhotranVPG#listAllModules()}
- *
- * @author Jeff Overbey
- */
-public class CheckCanAddDeclTestCase extends RefactoringTestCase
-{
- private static final String DIR = "check-can-add-test-code";
-
- private ASTMainProgramNode mainProgram;
- private ASTSubroutineSubprogramNode internalSubroutine;
- private ASTModuleNode module;
-
- @Override public void setUp() throws Exception
- {
- super.setUp();
-
- IFile main_f90 = importFile(DIR, "main.f90");
- IFile module_f90 = importFile(DIR, "module.f90");
- importFile(DIR, "external.f90");
- PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- compileAndRunFortranProgram("module.f90", "main.f90", "external.f90");
-
- PhotranVPG vpg = PhotranVPG.getInstance();
- IFortranAST mainFileAST = vpg.acquireTransientAST(main_f90);
- IFortranAST moduleFileAST = vpg.acquireTransientAST(module_f90);
- assertNotNull(mainFileAST);
- assertNotNull(moduleFileAST);
-
- mainProgram = mainFileAST.findFirstTokenOnLine(1).findNearestAncestor(ASTMainProgramNode.class);
- internalSubroutine = mainFileAST.findFirstTokenOnLine(23).findNearestAncestor(ASTSubroutineSubprogramNode.class);
- module = moduleFileAST.findFirstTokenOnLine(1).findNearestAncestor(ASTModuleNode.class);
- assertNotNull(mainProgram);
- assertNotNull(internalSubroutine);
- assertNotNull(module);
- }
-
- public void testAddDeclsToMainProgram() throws Exception
- {
- new FauxFortranRefactoring()
- {
- protected void runTest()
- {
- assertTrue(canAdd("something_new"));
- assertFalse(canAdd("assigned_local_variable"));
- assertFalse(canAdd("AsSiGnEd_LoCaL_vArIaBlE"));
- assertFalse(canAdd("unused_local_variable"));
- assertFalse(canAdd("local_variable_accessed_from_internal_subroutine"));
- assertFalse(canAdd("defined_external_subroutine"));
- assertFalse(canAdd("declared_external_subroutine"));
- assertFalse(canAdd("undeclared_external_subroutine"));
- assertFalse(canAdd("internal_subroutine"));
- assertFalse(canAdd("used_module_subroutine"));
- assertFalse(canAdd("unused_module_subroutine"));
- assertTrue(canAdd("private_module_subroutine"));
- }
-
- private boolean canAdd(String name)
- {
- return checkIfDeclarationCanBeAddedToScope(name, mainProgram, new NullProgressMonitor());
- }
- }.runTest();
- }
-
- public void testAddDeclsToModule() throws Exception
- {
- new FauxFortranRefactoring()
- {
- protected void runTest()
- {
- assertFalse(canAdd("private_module_subroutine"));
-
- // These are the same as above, since declaring these in the module
- // will cause them to be imported into the main program, preventing
- // the main program from redeclaring them
-
- assertTrue(canAdd("something_new"));
- assertFalse(canAdd("assigned_local_variable"));
- assertFalse(canAdd("AsSiGnEd_LoCaL_vArIaBlE"));
- assertFalse(canAdd("unused_local_variable"));
- assertFalse(canAdd("local_variable_accessed_from_internal_subroutine"));
- // FIXME assertFalse(canAdd("defined_external_subroutine"));
- assertFalse(canAdd("declared_external_subroutine"));
- assertFalse(canAdd("undeclared_external_subroutine"));
- assertFalse(canAdd("internal_subroutine"));
- assertFalse(canAdd("used_module_subroutine"));
- assertFalse(canAdd("unused_module_subroutine"));
- }
-
- private boolean canAdd(String name)
- {
- return checkIfDeclarationCanBeAddedToScope(name, module, new NullProgressMonitor());
- }
- }.runTest();
- }
-
- public void testAddDeclsToInternalSubprogram() throws Exception
- {
- new FauxFortranRefactoring()
- {
- protected void runTest()
- {
- assertTrue(canAdd("something_new"));
- assertFalse(canAdd("internal_subroutine"));
- assertFalse(canAdd("local_variable_accessed_from_internal_subroutine"));
- assertTrue(canAdd("private_module_subroutine"));
-
- // These will shadow declarations in an outer scope, but since they're not
- // referenced, that is OK
- assertTrue(canAdd("assigned_local_variable"));
- assertTrue(canAdd("AsSiGnEd_LoCaL_vArIaBlE"));
- assertTrue(canAdd("unused_local_variable"));
- assertTrue(canAdd("defined_external_subroutine"));
- assertTrue(canAdd("declared_external_subroutine"));
- assertTrue(canAdd("undeclared_external_subroutine"));
- assertTrue(canAdd("used_module_subroutine"));
- assertTrue(canAdd("unused_module_subroutine"));
- }
-
- private boolean canAdd(String name)
- {
- return checkIfDeclarationCanBeAddedToScope(name, internalSubroutine, new NullProgressMonitor());
- }
- }.runTest();
- }
-
- /**
- * This is intended to be subclassed in order to gain access to the protected methods of
- * {@link AbstractFortranRefactoring} to test those methods.
- *
- * @author Jeff Overbey
- */
- private class FauxFortranRefactoring extends AbstractFortranRefactoring
- {
- public FauxFortranRefactoring()
- {
- this.vpg = PhotranVPG.getInstance();
- }
-
- @Override
- protected void doCheckInitialConditions(RefactoringStatus status, IProgressMonitor pm)
- throws PreconditionFailure
- {
- }
-
- @Override
- protected void doCheckFinalConditions(RefactoringStatus status, IProgressMonitor pm)
- throws PreconditionFailure
- {
- }
-
- @Override
- protected void doCreateChange(IProgressMonitor pm) throws CoreException, OperationCanceledException
- {
- }
-
- @Override
- protected void ensureProjectHasRefactoringEnabled(RefactoringStatus status) throws PreconditionFailure
- {
- }
-
- @Override
- protected RefactoringStatus getAbstractSyntaxTree(RefactoringStatus status)
- {
- return null;
- }
-
- @Override
- public String getName()
- {
- return null;
- }
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/ReindenterTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/ReindenterTestCase.java
deleted file mode 100644
index 275f313..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/ReindenterTestCase.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.infrastructure;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.photran.core.IFortranAST;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.Reindenter;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.SourcePrinter;
-import org.eclipse.photran.internal.core.refactoring.infrastructure.Reindenter.Strategy;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-public class ReindenterTestCase extends RefactoringTestCase
-{
- private static final String DIR = "reindenter-test-code";
-
- protected String filename = null;
- protected Strategy strategy;
- private int fromLine;
- private int thruLine;
-
- public ReindenterTestCase() {;} // when JUnit invokes a subclass outside a test suite
-
- public ReindenterTestCase(String filename, Strategy strategy)
- {
- this.filename = filename;
- this.strategy = strategy;
- this.setName("test");
- }
-
- public void test() throws Exception
- {
- if (filename == null) return; // when JUnit invokes this outside a test suite
-
- final IFile thisFile = importFile(DIR, filename);
-
- IFortranAST ast = PhotranVPG.getInstance().acquireTransientAST(thisFile);
- assertNotNull(ast);
-
- Reindenter.reindent(fromLine, thruLine, ast, strategy);
-
- thisFile.setContents(
- new ByteArrayInputStream(SourcePrinter.getSourceCodeFromAST(ast).getBytes()),
- true,
- false,
- new NullProgressMonitor());
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-
- assertEquals(
- readTestFile(filename + ".result"), // expected result
- readWorkspaceFile(filename)); // actual refactored file
- }
-
- @Override protected String readTestFile(String srcDir, String filename) throws IOException, URISyntaxException
- {
- String result = super.readTestFile(srcDir, filename);
-
- int startOffset = result.lastIndexOf('\n', result.indexOf("!<<<<<START")) + 1;
- int endOffset = result.indexOf("!<<<<<END");
- if (startOffset < 0 || endOffset < 0 || endOffset <= startOffset)
- throw new Error("Malformed test case");
-
- determineLinesFromOffsets(result, startOffset, endOffset);
-
- return result;
- }
-
- private void determineLinesFromOffsets(String result, int startOffset, int endOffset)
- {
- int line = 1;
-
- for (int i = 0; i < result.length(); i++)
- {
- if (i == startOffset)
- this.fromLine = line;
-
- if (i == endOffset)
- this.thruLine = line;
-
- if (result.charAt(i) == '\n')
- line++;
- }
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/ReindenterTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/ReindenterTestSuite.java
deleted file mode 100644
index d88fc9d..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/infrastructure/ReindenterTestSuite.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.infrastructure;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.core.refactoring.infrastructure.Reindenter.Strategy;
-
-public class ReindenterTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
- suite.addTest(getSuiteFor("01-simple.f90", Strategy.SHIFT_ENTIRE_BLOCK));
- suite.addTest(getSuiteFor("02-end-after.f90", Strategy.SHIFT_ENTIRE_BLOCK));
- suite.addTest(getSuiteFor("03-blank-after.f90", Strategy.SHIFT_ENTIRE_BLOCK));
- suite.addTest(getSuiteFor("04-guess-indent.f90", Strategy.SHIFT_ENTIRE_BLOCK));
- suite.addTest(getSuiteFor("05-eachline-test.f90", Strategy.REINDENT_EACH_LINE));
- //suite.addTest(getSuiteFor("0.f90", Strategy));
- return suite;
- }
-
- private static TestSuite getSuiteFor(String baseFilename, Strategy strategy)
- {
- TestSuite subSuite = new TestSuite("Reindenting " + baseFilename);
- subSuite.addTest(new ReindenterTestCase(baseFilename, strategy));
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/interchangeloops/InterchangeLoopsTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/interchangeloops/InterchangeLoopsTestCase.java
deleted file mode 100644
index 22b74ca..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/interchangeloops/InterchangeLoopsTestCase.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.interchangeloops;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.ExtractProcedureRefactoring;
-import org.eclipse.photran.internal.core.refactoring.InterchangeLoopsRefactoring;
-import org.eclipse.photran.internal.core.refactoring.IntroImplicitNoneRefactoring;
-import org.eclipse.photran.internal.core.refactoring.RenameRefactoring;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- *
- * @author Tim
- */
-public class InterchangeLoopsTestCase extends RefactoringTestCase
-{
- private String myFilename = null;
- private NullProgressMonitor pm = new NullProgressMonitor();
- private ITextSelection selection = null;
- private static final String DIR = "interchange-loops-test-code";
-
- public InterchangeLoopsTestCase(){;}
-
- public InterchangeLoopsTestCase(String filename, Object ignore)
- {
- this.myFilename = filename;
- this.setName("test");
- }
-
- protected void doRefactoring() throws Exception
- {
- String description = "Attempt to interchange loops in " + myFilename;
-
- InterchangeLoopsRefactoring refactoring = createRefactoring(myFilename);
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
- assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
- status = refactoring.checkFinalConditions(pm);
- assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- }
-
- protected InterchangeLoopsRefactoring createRefactoring(String filename) throws Exception
- {
- final IFile thisFile = importFile(DIR, filename);
- InterchangeLoopsRefactoring r = new InterchangeLoopsRefactoring();
- r.initialize(thisFile, selection);
- return r;
- }
-
- @Override protected String readTestFile(String srcDir, String filename) throws IOException, URISyntaxException
- {
- String result = super.readTestFile(srcDir, filename);
-
- int startOffset = result.lastIndexOf('\n', result.indexOf("!<<<<<START")) + 1;
- int endOffset = result.indexOf("!<<<<<END");
- if (startOffset <= 0 || endOffset < 0 || endOffset <= startOffset)
- throw new Error("Malformed test case");
-
- selection = new TextSelection(startOffset, endOffset-startOffset);
-
- return result;
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- public void test() throws Exception
- {
- if (myFilename == null) return; // when JUnit invokes this outside a test suite
-
- doRefactoring();
- assertEquals(
- readTestFile(myFilename + ".result").replaceAll("\\r", ""), // expected result
- readWorkspaceFile(myFilename).replaceAll("\\r", "")); // actual refactored file
- }
-
- public static class InterchangeLoopsFailureTest extends InterchangeLoopsTestCase
- {
- private static String failFilename;
-
- public InterchangeLoopsFailureTest(){;}
-
- public InterchangeLoopsFailureTest(String filename, Object ignore)
- {
- super(filename, ignore);
- failFilename = filename;
- }
-
- @Override
- protected void doRefactoring() throws Exception
- {
- String description = "Attempt to interchange loops in " + failFilename;
-
- InterchangeLoopsRefactoring refactoring = createRefactoring(failFilename);
-
- RefactoringStatus status = refactoring.checkInitialConditions(new NullProgressMonitor());
- assertTrue(status.hasFatalError());
- }
-
- @Override
- public void test() throws Exception
- {
- doRefactoring();
- }
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/interchangeloops/InterchangeLoopsTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/interchangeloops/InterchangeLoopsTestSuite.java
deleted file mode 100644
index a1afbe6..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/interchangeloops/InterchangeLoopsTestSuite.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.interchangeloops;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- *
- * @author Tim
- */
-public class InterchangeLoopsTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
- suite.addTest(getSuiteFor("test01-simple.f90"));
- suite.addTest(getSuiteFor("test02-simple.f90"));
- suite.addTest(getFailSuiteFor("test-single-loop.f90"));
- suite.addTest(getSuiteFor("test-triple-loop.f90"));
- suite.addTest(getSuiteFor("test-triple-loop2.f90"));
- return suite;
- }
-
- private static TestSuite getSuiteFor(String baseFilename)
- {
- TestSuite subSuite = new TestSuite("Interchanging loops in " + baseFilename);
- subSuite.addTest(new InterchangeLoopsTestCase(baseFilename, null));
- return subSuite;
- }
-
- private static TestSuite getFailSuiteFor(String baseFilename)
- {
- TestSuite subSuite = new TestSuite("Interchanging loops in " + baseFilename);
- subSuite.addTest(new InterchangeLoopsTestCase.InterchangeLoopsFailureTest(baseFilename, null));
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestCase.java
deleted file mode 100644
index d1c689b..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestCase.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.introimplicitnone;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.IntroImplicitNoneRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-public class IntroImplicitTestCase extends RefactoringTestCase
-{
- private static final String DIR = "intro-implicit-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String filename;
- protected LineCol lineCol;
- protected boolean shouldCompileAndRun;
-
- public IntroImplicitTestCase() {;} // when JUnit invokes a subclass outside a test suite
-
- public IntroImplicitTestCase(String filename, LineCol lineCol, boolean shouldCompileAndRun)
- {
- this.filename = filename;
- this.lineCol = lineCol;
- this.shouldCompileAndRun = shouldCompileAndRun;
- this.setName("test");
- }
-
- protected void doRefactoring() throws Exception
- {
- String description = "Attempt to introduce implicit none at " + lineCol;
-
- IntroImplicitNoneRefactoring refactoring = createRefactoring(filename, lineCol);
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- String before = shouldCompileAndRun ? compileAndRunFortranProgram() : "";
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
- assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
- status = refactoring.checkFinalConditions(pm);
- assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-
- String after = shouldCompileAndRun ? compileAndRunFortranProgram() : "";
- System.out.println(after);
- assertEquals(before, after);
- }
-
- private IntroImplicitNoneRefactoring createRefactoring(final String filename, final LineCol lineCol) throws Exception
- {
- final IFile thisFile = importFile(DIR, filename);
-
- //project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); // Runs in separate thread... grrr...
- ArrayList<IFile> files = new ArrayList<IFile>();
- files.add(thisFile);
- IntroImplicitNoneRefactoring r = new IntroImplicitNoneRefactoring();
- r.initialize(files);//thisFile, new TextSelection(getLineColOffset(filename, lineCol), 0));
- return r;
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- /**
- * Given an array with all of the positions of identifiers that should be renamed together, try applying the Rename refactoring to
- * each, and make sure all the others change with it.
- */
- public void test() throws Exception
- {
- if (filename == null) return; // when JUnit invokes this outside a test suite
-
- doRefactoring();
- assertEquals(
- readTestFile(filename + ".result"), // expected result
- readWorkspaceFile(filename)); // actual refactored file
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestSuite.java
deleted file mode 100644
index 543822d..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/introimplicitnone/IntroImplicitTestSuite.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.introimplicitnone;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class IntroImplicitTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
-
- suite.addTest(getSuiteFor("bigexpression.f90"));
- suite.addTest(getSuiteFor("fortran.f90"));
- suite.addTest(getSuiteFor("crazyimplicits.f90"));
- suite.addTest(getSuiteFor("implicit-subprog.f90", false));
-
- suite.addTest(getSuiteFor("crazyimplicits.f90", "fortran.f90"));
- suite.addTest(getSuiteFor("crazyimplicits.f90", "fortran.f90", "bigexpression.f90"));
-
- return suite;
- }
-
- private static TestSuite getSuiteFor(String baseFilename)
- {
- return getSuiteFor(baseFilename, true);
- }
-
- private static TestSuite getSuiteFor(String baseFilename, boolean shouldCompileAndRun)
- {
- TestSuite subSuite = new TestSuite("Introducing Implicit None in " + baseFilename);
- subSuite.addTest(new IntroImplicitTestCase(baseFilename, new LineCol(1, 9), shouldCompileAndRun));
- return subSuite;
- }
-
- private static TestSuite getSuiteFor(String... filenames)
- {
- TestSuite subSuite = new TestSuite("Introducing Implicit None in selected files");
- for(String filename : filenames)
- {
- subSuite.addTest(new IntroImplicitTestCase(filename, new LineCol(1, 9), true));
- }
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/keyword/KeywordCaseTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/keyword/KeywordCaseTestCase.java
deleted file mode 100644
index 772edb5..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/keyword/KeywordCaseTestCase.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.keyword;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.KeywordCaseRefactoring;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-/**
- * Test cases for Keyword Case Refactoring
- * @author Kurt Hendle
- */
-public class KeywordCaseTestCase extends RefactoringTestCase
-{
- private static final String DIR = "keyword-case-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String filename;
- protected boolean lowerCase;
-
- public KeywordCaseTestCase() {;} // when JUnit invokes a subclass outside a test suite
-
- public KeywordCaseTestCase(String filename, boolean lowerCase)
- {
- this.filename = filename;
- this.lowerCase = lowerCase;
- this.setName("test");
- }
-
- /** Borrowed from IntroImplicitTestCase.java */
- protected void doRefactoring() throws Exception
- {
- String description = "Attempt to upcase keywords in " + filename;
-
- KeywordCaseRefactoring refactoring = createRefactoring(filename);
- refactoring.setLowerCase(lowerCase);
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
- assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
- status = refactoring.checkFinalConditions(pm);
- assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- }
-
- private KeywordCaseRefactoring createRefactoring(final String filename) throws Exception
- {
- final IFile thisFile = importFile(DIR, filename);
-
- ArrayList<IFile> files = new ArrayList<IFile>();
- files.add(thisFile);
-
- KeywordCaseRefactoring r = new KeywordCaseRefactoring();
- r.initialize(files);
- return r;
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- /**
- * Borrowed from IntroImplicitTestCase.java *
- *
- * Given an array with all of the positions of identifiers that should be renamed together, try applying the Rename refactoring to
- * each, and make sure all the others change with it.
- */
- public void test() throws Exception
- {
- if (filename == null) return; // when JUnit invokes this outside a test suite
-
- doRefactoring();
- assertEquals(
- readTestFile(filename + ".result").replaceAll("\\r", ""), // expected result
- readWorkspaceFile(filename).replaceAll("\\r", "")); // actual refactored file
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/keyword/KeywordCaseTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/keyword/KeywordCaseTestSuite.java
deleted file mode 100644
index 1525ce4..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/keyword/KeywordCaseTestSuite.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.keyword;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test Suite for Keyword Case Refactoring
- * @author Kurt Hendle
- */
-public class KeywordCaseTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
-
- suite.addTest(getSuiteFor("01-simple.f90"));
- suite.addTest(getSuiteFor("01-simple.f90", "02-end-after.f90"));
-
- return suite;
- }
-
- private static TestSuite getSuiteFor(String baseFilename)
- {
- TestSuite subSuite = new TestSuite("Upcasing all keywords in " + baseFilename);
- subSuite.addTest(new KeywordCaseTestCase(baseFilename, false));
- return subSuite;
- }
-
- private static TestSuite getSuiteFor(String... filenames)
- {
- TestSuite subSuite = new TestSuite("Upcasing all keywords in selected files");
- for(String filename : filenames)
- {
- subSuite.addTest(new KeywordCaseTestCase(filename, false));
- }
- return subSuite;
- }
-}
-
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/movesavedtocommonblock/MoveSavedToCommonBlockTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/movesavedtocommonblock/MoveSavedToCommonBlockTestCase.java
deleted file mode 100644
index c979d70..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/movesavedtocommonblock/MoveSavedToCommonBlockTestCase.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.movesavedtocommonblock;
-
-/**
- *
- * @author Stas Negara
- */
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.MoveSavedToCommonBlockRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-
-public class MoveSavedToCommonBlockTestCase extends RefactoringTestCase
-{
- private static final String DIR = "move-saved-to-common-block-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String filename;
- protected LineCol lineCol;
-
- public MoveSavedToCommonBlockTestCase() {} // when JUnit invokes a subclass outside a test suite
-
- public MoveSavedToCommonBlockTestCase(String filename, LineCol lineCol)
- {
- this.filename = filename;
- this.lineCol = lineCol;
- this.setName("test");
- }
-
- protected void doRefactoring() throws Exception
- {
- String description = "Attempt to apply MoveSavedToCommonBlockRefactoring at " + lineCol;
-
- MoveSavedToCommonBlockRefactoring moveSavedToCommonBlockRefactoring = createRefactoring(filename, lineCol);
-
- RefactoringStatus status = moveSavedToCommonBlockRefactoring.checkInitialConditions(pm);
- assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
- status = moveSavedToCommonBlockRefactoring.checkFinalConditions(pm);
- assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
- Change change = moveSavedToCommonBlockRefactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- }
-
- private MoveSavedToCommonBlockRefactoring createRefactoring(final String filename, final LineCol lineCol) throws Exception
- {
- final IFile thisFile = importFile(DIR, filename);
-
- MoveSavedToCommonBlockRefactoring r = new MoveSavedToCommonBlockRefactoring();
- r.initialize(thisFile, new TextSelection(getLineColOffset(filename, lineCol), 0));
- return r;
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- public void test() throws Exception
- {
- if (filename == null) return; // when JUnit invokes this outside a test suite
-
- doRefactoring();
- assertEquals(
- readTestFile(filename + ".result"), // expected result
- readWorkspaceFile(filename)); // actual refactored file
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/movesavedtocommonblock/MoveSavedToCommonBlockTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/movesavedtocommonblock/MoveSavedToCommonBlockTestSuite.java
deleted file mode 100644
index 25e10e1..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/movesavedtocommonblock/MoveSavedToCommonBlockTestSuite.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.movesavedtocommonblock;
-
-/**
- *
- * @author Stas Negara
- */
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class MoveSavedToCommonBlockTestSuite extends TestSuite
-{
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
- suite.addTest(getSuiteFor("test1.f90", new LineCol(29, 10)));
- suite.addTest(getSuiteFor("test2.f90", new LineCol(65, 10)));
- return suite;
- }
-
- private static TestSuite getSuiteFor(String baseFilename, LineCol lineCol)
- {
- TestSuite subSuite = new TestSuite("Move Saved To Common Block in file " + baseFilename);
- subSuite.addTest(new MoveSavedToCommonBlockTestCase(baseFilename, lineCol));
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename1.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename1.java
deleted file mode 100644
index f182b35..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename1.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename1 extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME1.F90, AND
- // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String filename = "rename1.f90";
-
- private Ident intInMain = var(filename, "int", new LineCol[] { lc(11,10), lc(17,16), lc(23,20) });
- private Ident subInMain = var(filename, "sub", new LineCol[] { lc(24,16), lc(25,20) });
-
- private Ident[] mainVars = new Ident[] {
- var(filename, "two", new LineCol[] { lc(2,27), lc(7,40), lc(9,23) }),
- var(filename, "three", new LineCol[] { lc(3,27), lc(4,23), lc(5,13), lc(6,15), lc(7,33), lc(7,66), lc(9,28) }),
- var(filename, "a", new LineCol[] { lc(4,16), lc(9,14) }),
- var(filename, "b", new LineCol[] { lc(4,19), lc(9,17) }),
- var(filename, "not_shadowed", new LineCol[] { lc(5,23), lc(9,35), lc(21,16) }),
- var(filename, "c", new LineCol[] { lc(6,25), lc(9,20) }),
- var(filename, "shadow_this_1", new LineCol[] { lc(7,16), lc(9,49) }),
- var(filename, "shadow_this_2", new LineCol[] { lc(7,46), lc(9,64) }),
- var(filename, "implicit", new LineCol[] { lc(8,5), lc(9,79), lc(21,64) }),
- intInMain
- };
-
- private Ident shadowThis1IntShadow = var(filename, "shadow_this_1", new LineCol[] { lc(18,18), lc(21,30) });
- private Ident shadowThis2IntShadow = var(filename, "shadow_this_2", new LineCol[] { lc(19,18), lc(21,45) });
-
- private Ident main = var(filename, "Main", new LineCol[] { lc(1,9), lc(26,13) });
- private Ident ext = var(filename, "ext", new LineCol[] { lc(12,10), lc(22,12), lc(27,12), lc(33,16) });
-
- private Ident twoInExt = var(filename, "two", new LineCol[] { lc(28,14), lc(31,18) });
-
- private Ident intContained = var(filename, "int", new LineCol[] { lc(30,16), lc(32,20) });
-
- private Ident[] otherVars = new Ident[] { shadowThis1IntShadow, shadowThis2IntShadow, main, ext, twoInExt, intContained };
-
- private Ident intrinsic = var(filename, "selected_real_kind", new LineCol[] { lc(3,35) });
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new Rename1();
- }
-
- public Rename1() throws Exception
- {
- addSuccessTests();
- addFailNotAnIdentifier();
- addFailIntrinsicProcedure();
- addFailConflictInSameScope();
- addFailConflictInReference();
- }
-
- public void addSuccessTests()
- {
- startTests("Renaming local variables in main program");
- for (Ident v : mainVars)
- {
- addSuccessTests(v, v.getName() + v.getName());
- addSuccessTests(v, "z");
- addSuccessTests(v, "if");
- }
- endTests();
-
- startTests("Renaming variables outside main program");
- for (Ident v : otherVars)
- {
- addSuccessTests(v, v.getName() + v.getName());
- addSuccessTests(v, "z");
- addSuccessTests(v, "if");
- }
- endTests();
- }
-
- public void addFailNotAnIdentifier() throws Exception
- {
- startTests("Check: Not an identifier");
- for (Ident v : mainVars)
- {
- addPreconditionTests(v, "");
- addPreconditionTests(v, "\u0080"); // Euro symbol
- addPreconditionTests(v, "3");
- addPreconditionTests(v, "hello world");
- addPreconditionTests(v, "\"hello world\"");
- }
- endTests();
- }
-
- public void addFailIntrinsicProcedure() throws Exception
- {
- startTests("Check: Cannot rename intrinsic procedures");
- addPreconditionTests(intrinsic, "new_name");
- endTests();
- }
-
- public void addFailConflictInSameScope() throws Exception
- {
- startTests("Check: Local variable name conflicts in local scope (main program)");
- for (int i = 0; i < mainVars.length; i++)
- addPreconditionTests(mainVars[i], mainVars[Math.max(i-1, 0)].getName());
- endTests();
-
- startTests("Check: Local variable name conflicts with capitalization changed");
- for (int i = 0; i < mainVars.length; i++)
- addPreconditionTests(mainVars[i], mainVars[Math.max(i-1, 0)].getName().toUpperCase());
- endTests();
- }
-
- public void addFailConflictInReference() throws Exception
- {
- startTests("Check: Conflicts outside local scope");
- addPreconditionTests(main, "int"); // FIXME: Bug -- should be addPreconditionTests
- addPreconditionTests(main, "ext");
- addPreconditionTests(intInMain, "Main");
- addPreconditionTests(intInMain, "ext");
- addPreconditionTests(subInMain, "int");
- addPreconditionTests(subInMain, "ext");
- addPreconditionTests(ext, "int"); // conflict due to reference in Main
- addPreconditionTests(ext, "sub"); // will change interpretation of ext call in Main
- addPreconditionTests(ext, "Main");
- addSuccessTests(intContained, "sub");
- addSuccessTests(intContained, "Main");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename2.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename2.java
deleted file mode 100644
index ef1044f..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename2.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename2 extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME2.F90, AND
- // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String filename = "rename2.f90";
-
- private Ident[] vars = new Ident[]
- {
- var(filename, "Main", new LineCol[] { lc(2,9), lc(27,13) }),
- var(filename, "one", new LineCol[] { lc(4,16), lc(12,14), lc(16,11), lc(20,11) }),
- var(filename, "two", new LineCol[] { lc(5,27), lc(10,13), lc(13,14), lc(17,14) }),
- var(filename, "three", new LineCol[] { lc(6,16), lc(14,9), lc(18,9) }),
- var(filename, "four", new LineCol[] { lc(10,21), lc(15,14), lc(19,14) })
- };
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new Rename2();
- }
-
- public Rename2() throws Exception
- {
- startTests("Renaming program with comments and line continuations");
- for (String name : new String[] { "z", "a_really_really_long_name" })
- for (Ident var : vars)
- addSuccessTests(var, name);
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename3.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename3.java
deleted file mode 100644
index 6cd1807..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename3.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename3 extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME3*.F90
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String file = "rename3.f90";
- private String filea = "rename3a.f90";
- private String fileb = "rename3b.f90";
- private String filec = "rename3c.f90";
-
- private Ident myProgram = var("MyProgram");
- private Ident aRenamed3 = var("a_renamed3");
- private Ident bRenamed3 = var("b_renamed3");
- private Ident contained = var("contained");
- private Ident external = var("external");
-
- private Ident moduleA = var("module_a");
- private Ident aSub1of3 = var("a_sub1of3");
- private Ident aSub2of3 = var("a_sub2of3");
- private Ident aSub3of3 = var("a_sub3of3");
-
- private Ident moduleB = var("module_b");
- private Ident bSub1of3 = var("b_sub1of3");
- private Ident bSub2of3 = var("b_sub2of3");
- private Ident bSub3of3 = var("b_sub3of3");
-
- private Ident moduleC = var("module_c");
- private Ident cSub = var("c_sub");
-
- // Note that the order here determines the order in the expectSuccess matrix below
- private Ident[] allVars = new Ident[]
- {
- myProgram, aRenamed3, bRenamed3, contained, external,
- moduleA, aSub1of3, aSub2of3, aSub3of3,
- moduleB, bSub1of3, bSub2of3, bSub3of3,
- moduleC, cSub
- };
-
- private boolean[][] expectSuccess = new boolean[][]
- {
- // IMPORTANT:
- // * Modules can't be renamed, hence the rows of "false" for moduleA, moduleB, and moduleC
- // * The rename refactoring requires that the new name not be identical to the old name, hence "false" along the diagonal
-
- /* vvv can be renamed to >>> myProgram, aRenamed3, bRenamed3, contained, external, moduleA, aSub1of3, aSub2of3, aSub3of3, moduleB, bSub1of3, bSub2of3, bSub3of3, moduleC, cSub
- /* myProgram */ new boolean[] { false, false, false, false, false, true, false, false, true, true, true, false, true, true, true },
- /* aRenamed3 */ new boolean[] { false, false, false, false, false, true, false, false, true, true, true, false, true, true, true },
- /* bRenamed3 */ new boolean[] { false, false, false, false, false, true, false, false, true, true, true, false, true, true, true },
- /* contained */ new boolean[] { false, false, false, false, false, true, false, false, true, true, true, false, true, true, true },
- /* external */ new boolean[] { false, false, false, false, false, true, false, false, true, true, true, false, true, true, true },
- /* moduleA */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* aSub1of3 */ new boolean[] { false, false, false, false, false, false, false, false, false, true, true, false, true, true, true },
- /* aSub2of3 */ new boolean[] { false, false, false, false, false, false, false, false, false, true, true, false, true, true, true },
- /* aSub3of3 */ new boolean[] { true, true, true, true, true, false, false, false, false, true, true, true, true, true, true },
- /* moduleB */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* bSub1of3 */ new boolean[] { true, true, true, true, true, true, true, true, true, false, false, false, false, true, false },
- /* bSub2of3 */ new boolean[] { false, false, false, false, false, true, false, false, true, false, false, false, false, true, false,},
- /* bSub3of3 */ new boolean[] { true, true, true, true, true, true, true, true, true, false, false, false, false, true, false },
- /* moduleC */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* cSub */ new boolean[] { true, true, true, true, true, true, true, true, true, false, false, false, false, false, false },
- };
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new Rename3();
- }
-
- public Rename3() throws Exception
- {
- myProgram.addReferences(file, new LineCol[] { lc(1,9) });
- aRenamed3.addReferences(file, new LineCol[] { lc(2,17), lc(9,8) });
- bRenamed3.addReferences(file, new LineCol[] { lc(3,34), lc(11,8) });
- contained.addReferences(file, new LineCol[] { lc(15,14), lc(12,8) });
- external.addReferences(file, new LineCol[] { lc(18,12), lc(13,8) });
- moduleA.addReferences(file, new LineCol[] { lc(2,7) });
- aSub1of3.addReferences(file, new LineCol[] { lc(7,8) });
- aSub2of3.addReferences(file, new LineCol[] { lc(8,8) });
- aSub3of3.addReferences(file, new LineCol[] { lc(2,31) });
- moduleB.addReferences(file, new LineCol[] { lc(3,7) });
- bSub1of3.addReferences(file, new LineCol[] {});
- bSub2of3.addReferences(file, new LineCol[] { lc(3, 23), lc(10,8) });
- bSub3of3.addReferences(file, new LineCol[] { lc(3,48) });
- moduleC.addReferences(file, new LineCol[] {});
- cSub.addReferences(file, new LineCol[] {});
-
- myProgram.addReferences(filea, new LineCol[] {});
- aRenamed3.addReferences(filea, new LineCol[] {});
- bRenamed3.addReferences(filea, new LineCol[] {});
- contained.addReferences(filea, new LineCol[] {});
- external.addReferences(filea, new LineCol[] {});
- moduleA.addReferences(filea, new LineCol[] { lc(1,8) });
- aSub1of3.addReferences(filea, new LineCol[] { lc(3,16) });
- aSub2of3.addReferences(filea, new LineCol[] { lc(4,16) });
- aSub3of3.addReferences(filea, new LineCol[] { lc(5,16) });
- moduleB.addReferences(filea, new LineCol[] {});
- bSub1of3.addReferences(filea, new LineCol[] {});
- bSub2of3.addReferences(filea, new LineCol[] {});
- bSub3of3.addReferences(filea, new LineCol[] {});
- moduleC.addReferences(filea, new LineCol[] {});
- cSub.addReferences(filea, new LineCol[] {});
-
- myProgram.addReferences(fileb, new LineCol[] {});
- aRenamed3.addReferences(fileb, new LineCol[] {});
- bRenamed3.addReferences(fileb, new LineCol[] {});
- contained.addReferences(fileb, new LineCol[] {});
- external.addReferences(fileb, new LineCol[] {});
- moduleA.addReferences(fileb, new LineCol[] {});
- aSub1of3.addReferences(fileb, new LineCol[] {});
- aSub2of3.addReferences(fileb, new LineCol[] {});
- aSub3of3.addReferences(fileb, new LineCol[] {});
- moduleB.addReferences(fileb, new LineCol[] { lc(1,8) });
- bSub1of3.addReferences(fileb, new LineCol[] { lc(4,16) });
- bSub2of3.addReferences(fileb, new LineCol[] { lc(5,16) });
- bSub3of3.addReferences(fileb, new LineCol[] { lc(6,16) });
- moduleC.addReferences(fileb, new LineCol[] { lc(2,9) });
- cSub.addReferences(fileb, new LineCol[] { lc(7,12) });
-
- myProgram.addReferences(filec, new LineCol[] {});
- aRenamed3.addReferences(filec, new LineCol[] {});
- bRenamed3.addReferences(filec, new LineCol[] {});
- contained.addReferences(filec, new LineCol[] {});
- external.addReferences(filec, new LineCol[] {});
- moduleA.addReferences(filec, new LineCol[] {});
- aSub1of3.addReferences(filec, new LineCol[] {});
- aSub2of3.addReferences(filec, new LineCol[] {});
- aSub3of3.addReferences(filec, new LineCol[] {});
- moduleB.addReferences(filec, new LineCol[] {});
- bSub1of3.addReferences(filec, new LineCol[] {});
- bSub2of3.addReferences(filec, new LineCol[] {});
- bSub3of3.addReferences(filec, new LineCol[] {});
- moduleC.addReferences(filec, new LineCol[] { lc(1,8) });
- cSub.addReferences(filec, new LineCol[] { lc(3,16) });
-
- startTests("Renaming subroutines imported from modules");
- for (int i = 0; i < allVars.length; i++)
- {
- for (int j = 0; j < allVars.length; j++)
- {
-// for (int i = 6; i == 6; i++)
-// {
-// for (int j = 1; j == 1; j++)
-// {
- if (expectSuccess[i][j])
- addSuccessTests(allVars[i], allVars[j].getName());
- else
- addPreconditionTests(allVars[i], allVars[j].getName());
- }
- }
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename4.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename4.java
deleted file mode 100644
index 8c45890..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename4.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename4 extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME4*.F90
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String file = "rename4.f90";
- private String filea = "rename4a.fh";
- private String fileb = "rename4b.fh";
-
- private Ident myProgram = var("MyProgram");
- private Ident hello = var("hello");
- private Ident goodbye = var("goodbye");
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new Rename4();
- }
-
- public Rename4() throws Exception
- {
- myProgram.addReferences(file, new LineCol[] { lc(1,9) });
- hello.addReferences(file, new LineCol[] { lc(3,12) });
- goodbye.addReferences(file, new LineCol[] {});
-
- myProgram.addReferences(filea, new LineCol[] {});
- hello.addReferences(filea, new LineCol[] { lc(1,12) });
- goodbye.addReferences(filea, new LineCol[] { lc(2,12) });
-
- myProgram.addReferences(fileb, new LineCol[] {});
- hello.addReferences(fileb, new LineCol[] { lc(1,10) });
- goodbye.addReferences(fileb, new LineCol[] {});
-
- startTests("Renaming file with Fortran INCLUDE lines");
- addSuccessTests(myProgram, "ziggySockyZiggySockyHoyHoyHoy");
- addPreconditionTests(myProgram, "hello");
- addPreconditionTests(hello, "Goodbye");
- addPreconditionTests(hello, "MyProgram");
- addPreconditionTests(hello, "ziggySockyZiggySockyHoyHoyHoy");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename5.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename5.java
deleted file mode 100644
index 6e0e60a..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename5.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename5 extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME3.F90, AND
- // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String filename = "rename5.f90";
-
- private Ident intrinsic1 = var(filename, "selected_int_kind", new LineCol[] { lc(2,14) });
- private Ident intrinsic2 = var(filename, "null", new LineCol[] { lc(29,33) });
-
- //private Ident outerThrice = var(filename, "thrice", new LineCol[] { lc(2,45) });
- //private Ident outerThriceImpliedResult = var(filename, "thrice", new LineCol[] { lc(4,3) });
- private Ident outerThriceFunctionAndResult = var(filename, "thrice", new LineCol[] { lc(2,45), lc(4,3), lc(5,14),
- lc(17,12), lc(17,23), lc(45,20)}); // If statement function removed
- private Ident outerThriceParam = var(filename, "n", new LineCol[] { lc(2,52), lc(3,17) });
-
- private Ident typeType = var(filename, "type", new LineCol[] { lc(7,8), lc(9,12), lc(27,10), lc(29,10), lc(37,9) });
- private Ident typeComponent = var(filename, "a", new LineCol[] { lc(8,16), lc(35,7), lc(45,9) });
-
- //private Ident innerThrice = var(filename, "thrice", new LineCol[] { lc(12,3), lc(17,12), lc(17,23), lc(45,20) });
- //private Ident innerThriceParam = var(filename, "n", new LineCol[] { lc(12,10), lc(12,17) });
-
- private Ident localN = var(filename, "n", new LineCol[] { lc(14,3), lc(17,30), lc(17,34) });
-
- //private Ident fFunction = var(filename, "f", new LineCol[] { lc(17,38), lc(17,44), lc(23,30), lc(45,27), lc(46,16) });
- //private Ident fResult = var(filename, "f", new LineCol[] { lc(47,5), lc(45,16), lc(45,29) });
- private Ident fFunctionAndResult = var(filename, "f", new LineCol[] { lc(17,38), lc(17,44), lc(23,30), lc(45,27), lc(46,16), lc(43,5), lc(45,16), lc(45,29) });
- private Ident fParam = var(filename, "a", new LineCol[] { lc(23,33), lc(25,16), lc(32,19), lc(35,11), lc(37,14) });
- private Ident fx = var(filename, "x", new LineCol[] { lc(27,19), lc(31,15), lc(35,5), lc(37,5), lc(39,10) });
- private Ident fp = var(filename, "p", new LineCol[] { lc(29,28), lc(39,5) });
-
- private Ident[] notRenameable = new Ident[]
- {
- intrinsic1, intrinsic2,
- outerThriceParam, /*innerThriceParam,*/ fParam,
- typeComponent,
- };
-
- private Ident[] renameable = new Ident[]
- {
- outerThriceFunctionAndResult,
- typeType,
- /*innerThrice,*/
- localN,
- fFunctionAndResult,
- fx,
- fp,
- };
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new Rename5();
- }
-
- public Rename5() throws Exception
- {
- //startTests("Renaming program with a shadowing statement function, implied results, and pointers");
- startTests("Renaming program with implied results and pointers");
- for (Ident var : notRenameable)
- addPreconditionTests(var, "z");
- for (Ident var : renameable)
- addSuccessTests(var, "z");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename6.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename6.java
deleted file mode 100644
index 469f8e4..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename6.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename6 extends RenameTestSuite
-{
- private String filename = "rename6.f90";
-
- private Ident[] vars = new Ident[] {
- var(filename, "outer", new LineCol[] { lc(1,21), lc(3,8), lc(9,6) }),
- var(filename, "i", new LineCol[] { lc(6,23), lc(7,15), lc(15,22), lc(22,30), lc(24,14), lc(26,12), lc(28,23), lc(28,29) }),
- var(filename, "hi", new LineCol[] { lc(7,27), lc(18,16), lc(18,30), lc(22,6) }),
- var(filename, "bye", new LineCol[] { lc(7,38), lc(18,20), lc(18,40), lc(22,9) }),
- var(filename, "ty", new LineCol[] { lc(15,2), lc(15,2), lc(15,9), lc(22,13) }),
- var(filename, "array", new LineCol[] { lc(10,12), lc(24,6), lc(26,6), lc(28,7) }),
- var(filename, "nl1", new LineCol[] { lc(18,11), lc(19,14) }),
- var(filename, "nl2", new LineCol[] { lc(18,25) }),
- var(filename, "nl3", new LineCol[] { lc(18,35) }),
- var(filename, "j", new LineCol[] { lc(5,12), lc(28,13), lc(28,17) }),
- };
-
- public static Test suite() throws Exception
- {
- return new Rename6();
- }
-
- public Rename6() throws Exception
- {
- startTests("Renaming local variables: nested derived type and namelists");
- for (Ident v : vars)
- addSuccessTests(v, "zzzzz");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename7.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename7.java
deleted file mode 100644
index a30fa1a..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename7.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename7 extends RenameTestSuite
-{
- private String filename = "rename7.f90";
-
- private Ident[] vars = new Ident[] {
- var(filename, "v1", new LineCol[] { lc(6,12), lc(8,18), lc(12,6) }),
- var(filename, "v2", new LineCol[] { lc(6,16), lc(8,22), lc(12,10) }),
- var(filename, "v3", new LineCol[] { lc(6,20), lc(8,28) }),
- var(filename, "v4", new LineCol[] { lc(6,24), lc(8,41) }),
- var(filename, "v5", new LineCol[] { lc(6,28), lc(8,45) }),
- var(filename, "common1", new LineCol[] { lc(8,9), /*lc(8,32),*/ lc(10,7) }),
- };
-
- private Ident bdn = var(filename, "bdn", new LineCol[] { lc(2,12), lc(14,16) });
-
- public static Test suite() throws Exception
- {
- return new Rename7();
- }
-
- public Rename7() throws Exception
- {
- startTests("Renaming local variables: common blocks and block data");
-
- addSuccessTests(bdn, "zzzzz");
- for (Ident v : vars)
- addSuccessTests(bdn, v.getName());
-
- for (Ident v1 : vars)
- {
- addSuccessTests(v1, "zzzzz");
-
- for (Ident v2 : vars)
- addPreconditionTests(v1, v2.getName());
- }
-
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename8.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename8.java
deleted file mode 100644
index 8a45345..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename8.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename8 extends RenameTestSuite
-{
- private String filename = "rename8.f90";
-
- private Ident f = var(filename, "f", new LineCol[] { lc(4,10), lc(28,14) });
- private Ident g_paramOfF = var(filename, "g", new LineCol[] { lc(4,12), lc(11,31), lc(23,18) });
- private Ident q = var(filename, "q", new LineCol[] { lc(4,22), lc(7,23), lc(26,3) });
- private Ident h = var(filename, "h", new LineCol[] { lc(11,33), lc(15,35), lc(18,22) });
- private Ident x_paramOfG = var(filename, "x", new LineCol[] { lc(11,36), lc(21,39) });
- private Ident x_paramOfH = var(filename, "x", new LineCol[] { lc(15,37), lc(17,43) });
- private Ident g_function = var(filename, "g", new LineCol[] { lc(30,18), lc(30,23), lc(30,43) });
-
- // Note that the order here determines the order in the expectSuccess matrix below
- private Ident[] allVars = new Ident[]
- {
- f, g_paramOfF, q, h, x_paramOfG, x_paramOfH, g_function
- };
-
- private boolean[][] expectSuccess = new boolean[][]
- {
- // IMPORTANT:
- // * Subprogram arguments cannot be renamed
- // * x cannot be renamed to x
-
- /* vvv can be renamed to >>> f g_paramOfF q h x_paramOfG x_paramOfH g_function
- /* f */ new boolean[] { false, false, false, true, true, true, false },
- /* g_paramOfF */ new boolean[] { false, false, false, false, false, false, false },
- /* q */ new boolean[] { false, false, false, true, true, true, false },
- /* h */ new boolean[] { false, false, false, false, false, false, false },
- /* x_paramOfG */ new boolean[] { false, false, false, false, false, false, false },
- /* x_paramOfH */ new boolean[] { false, false, false, false, false, false, false },
- /* g_function */ new boolean[] { false, false, true, true, true, true, false },
- };
-
- public static Test suite() throws Exception
- {
- return new Rename8();
- }
-
- public Rename8() throws Exception
- {
- startTests("Renaming subroutine arguments");
- for (int i = 0; i < allVars.length; i++)
- {
- for (int j = 0; j < allVars.length; j++)
- {
- if (expectSuccess[i][j])
- addSuccessTests(allVars[i], allVars[j].getName());
- else
- addPreconditionTests(allVars[i], allVars[j].getName());
- }
- }
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename9.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename9.java
deleted file mode 100644
index 1e9b6d0..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/Rename9.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class Rename9 extends RenameTestSuite
-{
- private String filename = "rename9.f90";
-
- private Ident i1 = var(filename, "i1", new LineCol[] { lc(3,14), lc(36,12) });
- private Ident j1 = var(filename, "j1", new LineCol[] { lc(4,23) });
- private Ident k1 = var(filename, "k1", new LineCol[] { lc(5,14), lc(7,31) });
- private Ident f1 = var(filename, "f1", new LineCol[] { lc(12,20), lc(12,26), lc(36,24) });
- private Ident i2 = var(filename, "i2", new LineCol[] { lc(17,14) });
- private Ident j2 = var(filename, "j2", new LineCol[] { lc(18,22), lc(39,16) });
- private Ident k2 = var(filename, "k2", new LineCol[] { lc(20,13), lc(22,31), lc(39,20) });
- private Ident f2 = var(filename, "f2", new LineCol[] { lc(27,20), lc(27,26) });
- private Ident j1implicit = var(filename, "j1", new LineCol[] { lc(36,16) });
- private Ident k1implicit = var(filename, "k1", new LineCol[] { lc(36,20) });
- private Ident zimplicit = var(filename, "z", new LineCol[] { lc(36,30) });
- private Ident i2implicit = var(filename, "i2", new LineCol[] { lc(39,12) });
- private Ident f2implicit = var(filename, "f2", new LineCol[] { lc(39,29) });
-
- // Note that the order here determines the order in the expectSuccess matrix below
- private Ident[] allVars = new Ident[]
- {
- i1, j1, k1, f1, i2, j2, k2, f2, j1implicit, k1implicit, zimplicit, i2implicit, f2implicit
- };
-
- private boolean[][] expectSuccess = new boolean[][]
- {
- // IMPORTANT:
- // * Subprogram arguments cannot be renamed
- // * x cannot be renamed to x
- // * j1 and j1implicit have the SAME NAME, so their columns should be identical (same for k1, etc.)
-
- /* vvv can be renamed to >>> i1 j1 k1 f1 i2 j2 k2 f2 j1implicit k1implicit zimplicit i2implicit f2implicit
- /* i1 */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* j1 */ new boolean[] { false, false, false, false, true, true, true, true, false, false, true, true, true },
- /* k1 */ new boolean[] { false, false, false, false, true, true, true, true, false, false, false, true, true },
- /* f1 */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* i2 */ new boolean[] { true, true, true, true, false, false, false, false, true, true, true, false, false },
- /* j2 */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* k2 */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* f2 */ new boolean[] { true, true, true, true, false, false, false, false, true, true, true, false, false },
- /* j1implicit */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* k1implicit */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* zimplicit */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* i2implicit */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false },
- /* f2implicit */ new boolean[] { false, false, false, false, false, false, false, false, false, false, false, false, false },
- };
-
- public static Test suite() throws Exception
- {
- return new Rename9();
- }
-
- public Rename9() throws Exception
- {
- startTests("Renaming in module with interfaces and visibilities");
- for (int i = 0; i < allVars.length; i++)
- {
- addSuccessTests(allVars[i], "something_different");
- for (int j = 0; j < allVars.length; j++)
- {
- if (expectSuccess[i][j])
- addSuccessTests(allVars[i], allVars[j].getName());
- else
- addPreconditionTests(allVars[i], allVars[j].getName());
- }
- }
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278103.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278103.java
deleted file mode 100644
index 035f543..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278103.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameBug278103 extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN BUG278103-*.F90
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String filem = "bug278103-mod.f90";
- private String filep = "bug278103-prog.f90";
- private String files = "bug278103-subs.f90";
-
- private Ident dim = var("DIM");
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new RenameBug278103();
- }
-
- public RenameBug278103() throws Exception
- {
- dim.addReferences(filem, new LineCol[] { lc(3,27), lc(11,22) });
- dim.addReferences(filep, new LineCol[] { lc(14,24), lc(16,22) });
- dim.addReferences(files, new LineCol[] { lc(5,22), lc(9,14), lc(11,23) });
-
- startTests("Renaming file exercising Bug 278103");
- addSuccessTests(dim, "something_else");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278106_Visibility.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278106_Visibility.java
deleted file mode 100644
index 76c1c78..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278106_Visibility.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameBug278106_Visibility extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN BUG278106.F90
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String file = "bug278106-visibility.f90";
-
- private Ident m1_m1a = var("m1a");
- private Ident m1_m1b = var("m1b");
-
- private Ident s1_m1b = var("m1b");
-
- private Ident s2_m1a = var("m1a");
- private Ident s2_m1b = var("m1b");
-
- private Ident s3_m1b = var("m1b");
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new RenameBug278106_Visibility();
- }
-
- public RenameBug278106_Visibility() throws Exception
- {
- m1_m1a.addReferences(file, new LineCol[] { lc(2,14), lc(14,12), lc(32,13), lc(39,12) });
- m1_m1b.addReferences(file, new LineCol[] { lc(2,19), lc(7,14) });
-
- s1_m1b.addReferences(file, new LineCol[] { lc(13,14), lc(14,17) });
-
- s2_m1a.addReferences(file, new LineCol[] { lc(24,14), lc(26,12) });
- s2_m1b.addReferences(file, new LineCol[] { lc(25,14), lc(26,17) });
-
- s3_m1b.addReferences(file, new LineCol[] { lc(38,14), lc(39,17) });
-
- startTests("Renaming file exercising Bug 278324");
- addSuccessTests(m1_m1a, "something_else");
- addSuccessTests(m1_m1b, "something_else");
- addSuccessTests(s1_m1b, "something_else");
- addSuccessTests(s2_m1a, "something_else");
- addSuccessTests(s2_m1b, "something_else");
- addSuccessTests(s3_m1b, "something_else");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278320.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278320.java
deleted file mode 100644
index f65ac42..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278320.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameBug278320 extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITION OF MODULE_ARRAY IN BUG278320-*.F90
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String prog_file = "bug278320-prog.f90";
- private String mod_file = "bug278320-mod.f90";
-
- private Ident module_array = var("module_array");
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new RenameBug278320();
- }
-
- public RenameBug278320() throws Exception
- {
- module_array.addReferences(prog_file, new LineCol[] { lc(5,5), lc(6,17) });
- module_array.addReferences(mod_file, new LineCol[] { lc(3,28) });
-
- startTests("Renaming file exercising Bug 278320");
- addSuccessTests(module_array, "something_else");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278324.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278324.java
deleted file mode 100644
index 9cee119..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameBug278324.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameBug278324 extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN BUG278324.F90
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String file = "bug278324.f90";
-
- private Ident parmValFormat = var("parmValFormat");
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new RenameBug278324();
- }
-
- public RenameBug278324() throws Exception
- {
- parmValFormat.addReferences(file, new LineCol[] { lc(3,25), lc(5,11), lc(6,15) });
-
- startTests("Renaming file exercising Bug 278324");
- addSuccessTests(parmValFormat, "something_else");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameExtSub1.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameExtSub1.java
deleted file mode 100644
index 3a190e8..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameExtSub1.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-/**
- * Rename refactoring tests ensuring that renaming external subprograms also
- * updates references in other files and in INTERFACE blocks
- *
- * @author Jeff Overbey
- */
-public class RenameExtSub1 extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF SUBPROGRAM IDENTIFIERS IN RENAME-EXTSUB1-*.F90
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String file1 = "rename-extsub1-a.f90";
- private String file2 = "rename-extsub1-b.f90";
-
- private Ident ext1 = var("ext1");
- private Ident ext2 = var("ext2");
- private Ident ext3 = var("ext3");
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new RenameExtSub1();
- }
-
- public RenameExtSub1() throws Exception
- {
- ext1.addReferences(file1, new LineCol[] { lc(1,12), lc(2,16), lc(6,16), lc(7,20), lc(17,8) });
-
- ext2.addReferences(file1, new LineCol[] { lc(9,31), lc(11,18), lc(18,12) });
- ext2.addReferences(file2, new LineCol[] { lc(1,27), lc(6,3), lc(7,14) });
-
- ext3.addReferences(file1, new LineCol[] { lc(13,22), lc(14,18), lc(19,12), lc(23,10), lc(25,14) });
- ext3.addReferences(file2, new LineCol[] { lc(3,12), lc(5,7) });
-
- startTests("Renaming file testing aggressive external subprogram binding resolution");
- addSuccessTests(ext1, "something_else");
- addSuccessTests(ext2, "something_else");
- addSuccessTests(ext3, "something_else");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameFnResult.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameFnResult.java
deleted file mode 100644
index 527244e..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameFnResult.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public class RenameFnResult extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME-FN-RESULT.F90
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String file = "rename-fn-result.f90";
-
- private Ident f = var("f");
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new RenameFnResult();
- }
-
- public RenameFnResult() throws Exception
- {
- f.addReferences(file, new LineCol[] { lc(1,12), lc(3,12), lc(4,16), lc(5,5), lc(6,16) });
-
- startTests("Renaming function and implied result variable simultaneously");
- addSuccessTests(f, "something_else");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameOverloads.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameOverloads.java
deleted file mode 100644
index b050736..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameOverloads.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.eclipse.photran.refactoring.tests.rename;
-
-import junit.framework.Test;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-/**
- * Rename refactoring tests ensuring that renaming external subprograms also
- * updates references in other files and in INTERFACE blocks
- *
- * @author Jeff Overbey
- */
-public class RenameOverloads extends RenameTestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF SUBPROGRAM IDENTIFIERS IN RENAME-EXTSUB1-*.F90
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private String file = "rename-overloads.f90";
-
- private Ident module_overload = var("module_overload");
- private Ident overload_int = var("overload_int");
- private Ident mp_overload_char = var("overload_char");
- private Ident ext_overload_char = var("overload_char");
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // TEST CASES
- //
- ///////////////////////////////////////////////////////////////////////////
-
- public static Test suite() throws Exception
- {
- return new RenameOverloads();
- }
-
- public RenameOverloads() throws Exception
- {
- module_overload.addReferences(file, new LineCol[] { lc(2,13), lc(7,17), lc(39,10), lc(40,10) });
- overload_int.addReferences(file, new LineCol[] { lc(3,16), lc(5,20), lc(15,12), lc(18,16), lc(22,16), lc(24,20), lc(33,8), lc(41,10) });
- mp_overload_char.addReferences(file, new LineCol[] { lc(6,22), lc(9,14), lc(12,18), lc(42,10) });
- ext_overload_char.addReferences(file, new LineCol[] { lc(26,16), lc(28,20), lc(34,8), lc(46,12), lc(49,16) });
-
- startTests("Renaming file testing bindings in overload declarations");
- addSuccessTests(module_overload, "something_else");
- addSuccessTests(overload_int, "something_else");
- addSuccessTests(mp_overload_char, "something_else");
- addSuccessTests(ext_overload_char, "something_else");
- endTests();
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameTestCase.java
deleted file mode 100644
index 4ec556e..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameTestCase.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.rename;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.photran.internal.core.refactoring.RenameRefactoring;
-import org.eclipse.photran.internal.core.util.LineCol;
-import org.eclipse.photran.internal.core.vpg.PhotranVPG;
-import org.eclipse.photran.refactoring.tests.RefactoringTestCase;
-import org.eclipse.photran.refactoring.tests.rename.RenameTestSuite.Ident;
-
-public abstract class RenameTestCase extends RefactoringTestCase
-{
- private static final String DIR = "rename-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String filename;
- protected Ident variable;
- protected LineCol position;
- protected String newName;
-
- public RenameTestCase() {;} // when JUnit invokes a subclass outside a test suite
-
- public RenameTestCase(String filename, Ident variable, LineCol position, String newName)
- {
- this.filename = filename;
- this.variable = variable;
- this.newName = newName;
- this.position = position;
- this.setName("test");
- }
-
- /**
- * Renames the identifier at the given position in the given workspace file to the given new name. Files in the workspace
- * are updated accordingly.
- */
- protected void doRename(String filename, LineCol lineCol, String newName, Set<String> allFiles) throws Exception
- {
- String description = "Attempt to rename identifier at " + lineCol;
-
- RenameRefactoring refactoring = createRefactoring(filename, lineCol, allFiles);
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
- assertTrue(description + " failed initial precondition check: " + status.toString(), !status.hasError());
-
- refactoring.setNewNameForIdentifier(newName);
-
- status = refactoring.checkFinalConditions(pm);
- assertTrue(description + " failed final precondition check: " + status.toString(), !status.hasError());
-
- Change change = refactoring.createChange(pm);
- assertNotNull(description + " returned null Change object", change);
- assertTrue(description + " returned invalid Change object", change.isValid(pm).isOK());
- change.perform(pm);
-
- project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
- }
-
- /**
- * Attempts to renames the identifier at the given position in the given workspace file to the given new name, with
- * the expectation that at least one precondition will fail. Returns the first failing status. Does not actually
- * perform the refactoring.
- */
- protected RefactoringStatus attemptRename(String filename, LineCol lineCol, String newName, Set<String> allFiles) throws Exception
- {
- RenameRefactoring refactoring = createRefactoring(filename, lineCol, allFiles);
-
- RefactoringStatus status = refactoring.checkInitialConditions(pm);
- if (status.hasError()) return status;
-
- refactoring.setNewNameForIdentifier(newName);
-
- status = refactoring.checkFinalConditions(pm);
- return status;
- }
-
- private RenameRefactoring createRefactoring(final String filename, final LineCol lineCol, final Set<String> allFiles) throws Exception
- {
- PhotranVPG.getDatabase().clearDatabase();
-
- final IFile thisFile = importFile(DIR, filename);
- for (String f : allFiles)
- importFile(DIR, f);
-
- // Originally, we called acquireTransientAST on each IFile
- PhotranVPG.getInstance().ensureVPGIsUpToDate(new NullProgressMonitor());
- //project.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); // Runs in separate thread... grrr...
-
-// System.out.println(filename);
-// for (String f : allFiles)
-// System.out.println(f);
-// PhotranVPG.getInstance().db.printOn(System.out);
-
- RenameRefactoring r = new RenameRefactoring();
- r.initialize(thisFile, new TextSelection(getLineColOffset(filename, lineCol), 0));
- return r;
- }
-
- protected String readTestFile(String filename) throws IOException, URISyntaxException
- {
- return super.readTestFile(DIR, filename);
- }
-
- public static class ExpectSuccess extends RenameTestCase
- {
- public ExpectSuccess() {;} // when JUnit invokes this outside a test suite
-
- public ExpectSuccess(String filename, Ident variable, LineCol position, String newName)
- {
- super(filename, variable, position, newName);
- }
-
- /**
- * Given an array with all of the positions of identifiers that should be renamed together, try applying the Rename refactoring to
- * each, and make sure all the others change with it.
- */
- public void test() throws Exception
- {
- if (filename == null || variable == null || newName == null) return; // when JUnit invokes this outside a test suite
- //System.out.println("***** " + variable.getName() + " ==> " + newName + " *****");
-
- doRename(filename, position, newName, variable.getFiles());
- for (String filename : variable.getFiles())
- {
- int totalLevDist = variable.getReferences(filename).length * levenshteinDistance(variable.getName(), newName);
- assertLevDist("renaming " + variable.getName() + " to " + newName + " (" + position + " - " + variable.getReferences(filename).length + " occurrences)",
- totalLevDist,
- readTestFile(filename), // original file
- readWorkspaceFile(filename)); // refactored file
- }
- }
- }
-
- public static class ExpectFailure extends RenameTestCase
- {
- public ExpectFailure() {;} // when JUnit invokes this outside a test suite
-
- public ExpectFailure(String filename, Ident variable, LineCol position, String newName)
- {
- super(filename, variable, position, newName);
- }
-
- /**
- * Given an array with all of the positions of identifiers that should be renamed together, try applying the Rename refactoring to
- * each, and make sure a precondition failure is raised.
- * @throws Exception
- */
- public void test() throws Exception
- {
- if (filename == null || variable == null || newName == null) return; // when JUnit invokes this outside a test suite
- //System.out.println("***** " + variable.getName() + " ==> " + newName + " *****");
-
- RefactoringStatus status = attemptRename(filename, position, newName, variable.getFiles());
- assertTrue("Attempting to rename " + variable.getName() + " to " + newName + " in " + filename
- + " (" + position + " - " + variable.getReferences(filename).length + " occurrences) "
- + "should have failed precondition checking.",
- status.hasError());
- }
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameTestSuite.java
deleted file mode 100644
index 8269db5..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/refactoring/tests/rename/RenameTestSuite.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.photran.refactoring.tests.rename;
-
-import java.util.HashMap;
-import java.util.Set;
-
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.core.util.LineCol;
-
-public abstract class RenameTestSuite extends TestSuite
-{
- ///////////////////////////////////////////////////////////////////////////
- //
- // RECORD POSITIONS OF ALL IDENTIFIERS IN RENAME1.F90, AND
- // GROUP THEM ACCORDING TO WHICH ONES SHOULD BE RENAMED TOGETHER
- //
- ///////////////////////////////////////////////////////////////////////////
-
- protected static class Ident
- {
- private String name;
- private HashMap<String, LineCol[]> references;
-
- public Ident(String name)
- {
- this.name = name;
- this.references = new HashMap<String, LineCol[]>();
- }
-
- public Ident(String filename, String name, LineCol[] referencesInFile)
- {
- this(name);
- addReferences(filename, referencesInFile);
- }
-
- public void addReferences(String filename, LineCol[] referencesInFile)
- {
- this.references.put(filename, referencesInFile);
- }
-
- public String getName()
- {
- return this.name;
- }
-
- public Set<String> getFiles()
- {
- return this.references.keySet();
- }
-
- public LineCol[] getReferences(String filename)
- {
- return this.references.get(filename);
- }
- }
-
- protected Ident var(String name) { return new Ident(name); }
- protected Ident var(String filename, String name, LineCol[] refs) { return new Ident(filename, name, refs); }
- protected LineCol lc(int line, int col) { return new LineCol(line, col); }
-
- ///////////////////////////////////////////////////////////////////////////
- //
- // SUITE BUILDING
- //
- ///////////////////////////////////////////////////////////////////////////
-
- private TestSuite currentSubSuite = null;
-
- protected void startTests(String description)
- {
- currentSubSuite = new TestSuite();
- currentSubSuite.setName(description);
- }
-
- protected void addSuccessTests(Ident ident, String newName)
- {
- TestSuite subSubSuite = new TestSuite();
- subSubSuite.setName("Renaming " + describe(ident, newName));
-
- for (String filename : ident.getFiles())
- for (LineCol position : ident.getReferences(filename))
- subSubSuite.addTest(new RenameTestCase.ExpectSuccess(filename, ident, position, newName));
-
- currentSubSuite.addTest(subSubSuite);
- }
-
- protected void addPreconditionTests(Ident ident, String newName)
- {
- TestSuite subSubSuite = new TestSuite();
- subSubSuite.setName("Attempting to rename " + describe(ident, newName));
-
- for (String filename : ident.getFiles())
- for (LineCol position : ident.getReferences(filename))
- subSubSuite.addTest(new RenameTestCase.ExpectFailure(filename, ident, position, newName));
-
- currentSubSuite.addTest(subSubSuite);
- }
-
- private String describe(Ident ident, String newName)
- {
- return ident.name + " to " + newName;
- }
-
- protected void endTests()
- {
- addTest(currentSubSuite);
- currentSubSuite = null;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/ManualSearchPageTests.txt b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/ManualSearchPageTests.txt
deleted file mode 100644
index 81cf5a8..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/ManualSearchPageTests.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-Fortran Search is displayed in the Fortran perspective:
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective
- (Window->Open Perspective-> Other-> Fortran)
-3: Select Search from the menu bar
-4: "Fortran Search" should be in the dropdown menu.
-
-
-Fortran Search is among the choices in the Search Page
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective
- (Window->Open Perspective-> Other-> Fortran)
-3: Select Search from the menu bar
-4: Select Search from the dropdown menu
-5: "Fortran Search" should be one of the tabs listed in the Search dialog
-
-
-Search Button is disallowed for empty strings
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective
- (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Delete any text in the "Search pattern" text box
-5: The search button should be disabled
-
-
-Search Button is disallowed if no types are specified
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective
- (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Enter any characters into the "Search Pattern" text box
-5: Uncheck all check boxes in the "Search for" area
- (Common block, Function, Subroutine, Module, Variable, Program)
-6: The "Search" button should be disabled
-
-
-Checked Regular Expression checkbox hides glob string instructions
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective
- (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Check the Regular Expression checkbox
-5: The "glob string instructions" (* = any string, ? = any character) should be hidden
-
-
-Unchecked Regular Expression checkbox shows glob string instructions
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective
- (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Uncheck the Regular Expression checkbox
-5: The "glob string instructions" (* = any string, ? = any character)
- should be visible under the search box
-
-
-Search box saves last search settings
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective
- (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Select any desired search criteria which will allow for a search
-5: Perform the search (it does not matter if the search fails)
-6: Select Search-> Fortran Search
-7: The settings from the previous search should be enabled, and the string used in
- the last search should be in the drop-down menu for the text box
-
-
-Search button activates a search
-1: Launch eclipse with the Photran plugin.
-2: Ensure that the workspace is in the Fortran Perspective
- (Window->Open Perspective-> Other-> Fortran)
-3: Select Search-> Fortran Search
-4: Select any desired search criteria which will allow for a search
-5: Click the Search button
-6: Ensure that the Search tab becomes active, indicating that the search command
- was executed
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/VPGSearchTestCase.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/VPGSearchTestCase.java
deleted file mode 100644
index e858272..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/VPGSearchTestCase.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.eclipse.photran.search.tests;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Scanner;
-
-import org.eclipse.cdt.core.tests.BaseTestFramework;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.photran.internal.ui.search.ReferenceSearchResult;
-import org.eclipse.photran.internal.ui.search.VPGSearchMatch;
-import org.eclipse.photran.internal.ui.search.VPGSearchQuery;
-import org.eclipse.photran.refactoring.tests.Activator;
-import org.eclipse.search.ui.IQueryListener;
-import org.eclipse.search.ui.ISearchQuery;
-import org.eclipse.search.ui.ISearchResult;
-import org.eclipse.search.ui.NewSearchUI;
-import org.eclipse.search.ui.text.Match;
-
-/**
- * A single test case for the Prototype Fortran Search
- * Parameters include filenames, scope, and the string to search for
- *
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- */
-public class VPGSearchTestCase extends BaseTestFramework
-{
- private static final String DIR = "vpg-search-test-code";
-
- private static NullProgressMonitor pm = new NullProgressMonitor();
-
- protected String searchString;
- protected int searchFlags;
- protected ArrayList<VPGSearchMatch> matches;
- protected ArrayList<Match> initMatches;
- protected boolean isRegex;
- protected ArrayList<IResource> scope;
-
- public VPGSearchTestCase() {;} // when JUnit invokes a subclass outside a test suite
-
-
- public VPGSearchTestCase(String searchString, int searchFlags,
- ArrayList<Match> matches, boolean isRegex)
- {
- this.setName("test");
- this.searchString = searchString;
- this.searchFlags = searchFlags;
- this.isRegex = isRegex;
- this.matches = new ArrayList<VPGSearchMatch>(matches.size());
- scope = new ArrayList<IResource>();
- initMatches = matches;
-
-
- }
-
-
- private IFile getFile(String filename) throws Exception {
- Scanner sc = new Scanner(Activator.getDefault().getBundle().getResource(DIR + "/" + filename).openStream());
- sc.useDelimiter("\\A");
- String contents = sc.next();
- sc.close();
- return super.importFile(filename, contents);
- }
-
- @Override
- protected void setUp() throws Exception {
- if (searchString == null) return; // when JUnit invokes this outside a test suite
- super.setUp();
- convertMatches();
- createProject();
- }
-
- private void convertMatches() throws Exception {
- for (Match m : initMatches)
- {
- IFile file = getFile((String)(m.getElement()));
- matches.add(new VPGSearchMatch(file, m.getOffset(), m.getLength()));
-
-
- }
- }
-
- private void createProject(){
- try{
- scope.add(getFile("foo.f90"));
- scope.add(getFile("implicitTest.f90"));
- } catch (Exception e){
- System.out.println("Error in createProject(): "+e);
- }
- }
-
- private ReferenceSearchResult runQuery(VPGSearchQuery job){
-
- final ISearchResult result[]= new ISearchResult[1];
-
- IQueryListener listener= new IQueryListener() {
- public void queryAdded(ISearchQuery query) {}
- public void queryFinished(ISearchQuery query) {
- result[0]= query.getSearchResult();
- }
- public void queryRemoved(ISearchQuery query) {}
- public void queryStarting(ISearchQuery query) {}
- };
-
- NewSearchUI.addQueryListener(listener);
- NewSearchUI.runQueryInForeground(new IRunnableContext() {
- public void run(boolean fork, boolean cancelable,
- IRunnableWithProgress runnable)
- throws InvocationTargetException, InterruptedException {
- runnable.run(pm);
- }
- }, job);
-
- assertTrue(result[0] instanceof ReferenceSearchResult);
- return (ReferenceSearchResult)result[0];
- }
-
- public void test() throws Exception
- {
- if (searchString == null) return; // when JUnit invokes this outside a test suite
-
- VPGSearchQuery job = new VPGSearchQuery(scope, "Scope description", searchString,
- searchFlags, isRegex);
-
- ReferenceSearchResult res = runQuery(job);
- int count = 0;
- for(Object obj : res.getElements()) {
- for (Match m : res.getMatches(obj)) {
- if (matches.contains((VPGSearchMatch)m))
- {
- count++;
- }
-
- }
- }
- assertEquals(matches.size(),count);
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/VPGSearchTestSuite.java b/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/VPGSearchTestSuite.java
deleted file mode 100644
index ae50145..0000000
--- a/org.eclipse.photran.core.vpg.tests/src/org/eclipse/photran/search/tests/VPGSearchTestSuite.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.eclipse.photran.search.tests;
-
-import java.util.ArrayList;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.photran.internal.ui.search.VPGSearchQuery;
-import org.eclipse.search.ui.text.Match;
-
-/**
- * The suite of tests for testing search functionality
- *
- * @author Jeff Dammeyer, Andrew Deason, Joe Digiovanna, Nick Sexmith
- */
-public class VPGSearchTestSuite extends TestSuite
-{
- /**
- * Adds all the tests to the suite for searching tests
- */
- public static Test suite() throws Exception
- {
- TestSuite suite = new TestSuite();
- ArrayList<Match> matches = new ArrayList<Match>();
-
-
- //test 1
- //Does a basic test across two different files
- matches.add(new Match("foo.f90",23,1));
- matches.add(new Match("foo.f90",30,1));
- matches.add(new Match("implicitTest.f90",22,1));
- suite.addTest(getSuiteFor("testOne", new VPGSearchTestCase("a",
- VPGSearchQuery.FIND_ALL_OCCURANCES | VPGSearchQuery.FIND_ALL_TYPES, matches, false)));
-
- //test 2
- //Same as 2 except different search string
- matches = new ArrayList<Match>();
- matches.add(new Match("foo.f90",26,1));
- matches.add(new Match("implicitTest.f90",67,1));
- suite.addTest(getSuiteFor("testTwo", new VPGSearchTestCase("b",
- VPGSearchQuery.FIND_ALL_OCCURANCES | VPGSearchQuery.FIND_ALL_TYPES, matches, false)));
-
- //test 3
- //Tests FIND_DECLARATIONS to make sure it is different from FIND_ALL_OCCURANCES
- matches = new ArrayList<Match>();
- matches.add(new Match("foo.f90",23,1));
- suite.addTest(getSuiteFor("testThree", new VPGSearchTestCase("a",
- VPGSearchQuery.FIND_DECLARATIONS | VPGSearchQuery.FIND_ALL_TYPES, matches, false)));
-
-// //test 4
-// //Tests FIND_REFERENCES
-// matches = new ArrayList<Match>();
-// matches.add(new Match("foo.f90",30,1));
-// matches.add(new Match("implicitTest.f90",22,1));
-// suite.addTest(getSuiteFor("testFour", new VPGSearchTestCase("a",
-// VPGSearchQuery.FIND_REFERENCES | VPGSearchQuery.FIND_ALL_TYPES, matches, false)));
-
- //test 5
- //Tests FIND_FUNCTION to make sure it is different from test 6
- matches = new ArrayList<Match>();
- suite.addTest(getSuiteFor("testFive", new VPGSearchTestCase("main",
- VPGSearchQuery.FIND_ALL_OCCURANCES | VPGSearchQuery.FIND_FUNCTION, matches, false)));
-
-
- //test 6
- //Tests FIND_PROGRAM so it's not the same as FIND_FUNCTION
- matches = new ArrayList<Match>();
- matches.add(new Match("foo.f90",8,4));
- suite.addTest(getSuiteFor("testSix", new VPGSearchTestCase("main",
- VPGSearchQuery.FIND_ALL_OCCURANCES | VPGSearchQuery.FIND_PROGRAM, matches, false)));
-
- //test 7
- //Tests the glob '?'
- suite.addTest(getSuiteFor("testSeven", new VPGSearchTestCase("ma?n",
- VPGSearchQuery.FIND_ALL_OCCURANCES | VPGSearchQuery.FIND_PROGRAM, matches, false)));
-
- //test 8
- //Tests the glob '*'
- suite.addTest(getSuiteFor("testEight", new VPGSearchTestCase("m*n",
- VPGSearchQuery.FIND_ALL_OCCURANCES | VPGSearchQuery.FIND_PROGRAM, matches, false)));
-
- //test 9
- //Tests regex
- suite.addTest(getSuiteFor("testNine", new VPGSearchTestCase("m.*",
- VPGSearchQuery.FIND_ALL_OCCURANCES | VPGSearchQuery.FIND_PROGRAM, matches, true)));
-
-
- return suite;
- }
-
-
- private static TestSuite getSuiteFor(String baseFilename, VPGSearchTestCase testCase)
- {
- TestSuite subSuite = new TestSuite(baseFilename);
- subSuite.addTest(testCase);
- return subSuite;
- }
-}
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module1.f90 b/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module1.f90
deleted file mode 100644
index 596ca54..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module1.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-module module1
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module2-module3.f90 b/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module2-module3.f90
deleted file mode 100644
index 72fc5c3..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module2-module3.f90
+++ /dev/null
@@ -1,5 +0,0 @@
-module module2
-end module
-
-module module3
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module4.f90 b/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module4.f90
deleted file mode 100644
index 63ee352..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/module4.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-module module4
-end module
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/use-module1.f90 b/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/use-module1.f90
deleted file mode 100644
index dd423e9..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/use-module1.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-use module1
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/use-module4.f90 b/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/use-module4.f90
deleted file mode 100644
index 993d263..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-list-test-code/use-module4.f90
+++ /dev/null
@@ -1,2 +0,0 @@
-use module4
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/foo.f90 b/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/foo.f90
deleted file mode 100644
index 40cb623..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/foo.f90
+++ /dev/null
@@ -1,4 +0,0 @@
-program main
- integer a, b
- a = 5
-end program
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/implicitTest.f90 b/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/implicitTest.f90
deleted file mode 100644
index 9b24b0c..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/implicitTest.f90
+++ /dev/null
@@ -1,10 +0,0 @@
-program ImplicitTest
- a = 1
- call s
- stop
-contains
- subroutine s
- b = 3
- return
- end subroutine
-end program ImplicitTest
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/moduleInclusion.F90 b/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/moduleInclusion.F90
deleted file mode 100644
index 55c451c..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/moduleInclusion.F90
+++ /dev/null
@@ -1,17 +0,0 @@
-PROGRAM hi
-!this should work
-
-
- USE moduleZiggurat
- IMPLICIT NONE
-
- REAL :: x
- INTEGER :: i
-
- DO i = 1, 10000
- x = uni( )
- END DO
- WRITE(*,*) x
-
-END PROGRAM hi
-
diff --git a/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/nameScoping.F90 b/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/nameScoping.F90
deleted file mode 100644
index 66fd2c3..0000000
--- a/org.eclipse.photran.core.vpg.tests/vpg-search-test-code/nameScoping.F90
+++ /dev/null
@@ -1,25 +0,0 @@
-
-SUBROUTINE pgmName
- PRINT *,'Hello'
-END SUBROUTINE pgmName
-
-
-
-PROGRAM pgmName
-!this should work
-
-
- USE pgmName
- IMPLICIT NONE
-
- REAL :: x
- INTEGER :: i
-
- DO i = 1, 10000
- x = hi( )
- END DO
- WRITE(*,*) x
-
- CALL pgmName
-
-END PROGRAM pgmName
diff --git a/org.eclipse.rephraserengine-support/.classpath b/org.eclipse.rephraserengine-support/.classpath
deleted file mode 100644
index 6fe660e..0000000
--- a/org.eclipse.rephraserengine-support/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src-cdtdb-4.0.3"/>
- <classpathentry kind="src" path="src-cdtdb-mock-objects"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine-support/.project b/org.eclipse.rephraserengine-support/.project
deleted file mode 100644
index 5618f5d..0000000
--- a/org.eclipse.rephraserengine-support/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.rephraserengine-support</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index c2167ff..0000000
--- a/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,332 +0,0 @@
-#Wed Oct 14 16:23:02 CDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=ignore
-org.eclipse.jdt.core.compiler.problem.deadCode=ignore
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=ignore
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=ignore
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=ignore
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=ignore
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=ignore
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=ignore
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=ignore
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=ignore
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=ignore
-org.eclipse.jdt.core.compiler.problem.unusedLabel=ignore
-org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=ignore
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 131108c..0000000
--- a/org.eclipse.rephraserengine-support/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Oct 14 14:50:42 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine-support/README.txt b/org.eclipse.rephraserengine-support/README.txt
deleted file mode 100644
index a6c2559..0000000
--- a/org.eclipse.rephraserengine-support/README.txt
+++ /dev/null
@@ -1,31 +0,0 @@
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-REPHRASER ENGINE SUPPORT CODE
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-
-This project is used to build JARs containing the database infrastructure used
-in CDT's indexer. These JARs are:
-
-cdtdb-4.0.3-eclipse.jar
- Copied into org.eclipse.rephraserengine.core; used by the Rephraser engine
- Depends on the Eclipse Platform to provide CoreException and similar classes
-
-cdtdb-4.0.3-cmdline.jar
- Currently unused
- Uses mock objects to provide CoreException and similar classes
-
-
-
-
-
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-Version information:
-
-JO 10/4/07:
-
- CDT files copied from CDT 4.0.1 (:pserver:anonymous@dev.eclipse.org:/cvsroot/tools/org.eclipse.cdt/org.eclipse.cdt.core
- Eclipse files copied from Eclipse 3.3.0 (Build id: I20070621-1340) for Mac OS X
- Only the necessary fields/methods from CCorePlugin were copied; all other files were copied verbatim in their entirety.
-
-JO 06/09/08:
- Classes in internal.core.pdom.db updated to CDT 4.0.3 (from cdt_4_0 branch). Changes to Database class (and file
- format?) in CDT 5.0 are causing problems.
diff --git a/org.eclipse.rephraserengine-support/about.html b/org.eclipse.rephraserengine-support/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine-support/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine-support/build/cdtdb-4.0.3.xml b/org.eclipse.rephraserengine-support/build/cdtdb-4.0.3.xml
deleted file mode 100644
index f5edcbe..0000000
--- a/org.eclipse.rephraserengine-support/build/cdtdb-4.0.3.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project default="jar">
-<target name="jar">
-
- <jar destfile="../distrib/cdtdb-4.0.3-cmdline.jar">
- <fileset dir="../distrib"
- includes="license.html"
- />
- <fileset dir="../bin"
- includes="**/*"
- />
- <fileset dir="../src-cdtdb-4.0.3"
- includes="**/*"
- />
- <fileset dir="../src-cdtdb-mock-objects"
- includes="**/*"
- />
- </jar>
-
- <jar destfile="../distrib/cdtdb-4.0.3-eclipse.jar">
- <fileset dir="../distrib"
- includes="license.html"
- />
- <fileset dir="../bin"
- includes="org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/**/*"
- />
- <fileset dir="../src-cdtdb-4.0.3"
- includes="org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/**/*"
- />
- </jar>
-
-</target>
-</project>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-cmdline.jar b/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-cmdline.jar
deleted file mode 100644
index d1b9e05..0000000
--- a/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-cmdline.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-eclipse.jar b/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-eclipse.jar
deleted file mode 100644
index fcef5c2..0000000
--- a/org.eclipse.rephraserengine-support/distrib/cdtdb-4.0.3-eclipse.jar
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine-support/distrib/license.html b/org.eclipse.rephraserengine-support/distrib/license.html
deleted file mode 100644
index ed4b196..0000000
--- a/org.eclipse.rephraserengine-support/distrib/license.html
+++ /dev/null
@@ -1,328 +0,0 @@
-<html xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List
-href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
-<title>Eclipse Public License - Version 1.0</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Revision>2</o:Revision>
- <o:TotalTime>3</o:TotalTime>
- <o:Created>2004-03-05T23:03:00Z</o:Created>
- <o:LastSaved>2004-03-05T23:03:00Z</o:LastSaved>
- <o:Pages>4</o:Pages>
- <o:Words>1626</o:Words>
- <o:Characters>9270</o:Characters>
- <o:Lines>77</o:Lines>
- <o:Paragraphs>18</o:Paragraphs>
- <o:CharactersWithSpaces>11384</o:CharactersWithSpaces>
- <o:Version>9.4402</o:Version>
- </o:DocumentProperties>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <w:WordDocument>
- <w:TrackRevisions/>
- </w:WordDocument>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553679495 -2147483648 8 0 66047 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-p.BalloonText, li.BalloonText, div.BalloonText
- {mso-style-name:"Balloon Text";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:8.0pt;
- font-family:Tahoma;
- mso-fareast-font-family:"Times New Roman";}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
--->
-</style>
-</head>
-
-<body lang=EN-US style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
-</p>
-
-<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
-THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE,
-REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
-OF THIS AGREEMENT.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>"Contribution" means:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-in the case of the initial Contributor, the initial code and documentation
-distributed under this Agreement, and<br clear=left>
-b) in the case of each subsequent Contributor:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-changes to the Program, and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-additions to the Program;</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>where
-such changes and/or additions to the Program originate from and are distributed
-by that particular Contributor. A Contribution 'originates' from a Contributor
-if it was added to the Program by such Contributor itself or anyone acting on
-such Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in conjunction
-with the Program under their own license agreement, and (ii) are not derivative
-works of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>"Contributor" means any person or
-entity that distributes the Program.</span> </p>
-
-<p><span style='font-size:10.0pt'>"Licensed Patents " mean patent
-claims licensable by a Contributor which are necessarily infringed by the use
-or sale of its Contribution alone or when combined with the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>"Program" means the Contributions
-distributed in accordance with this Agreement.</span> </p>
-
-<p><span style='font-size:10.0pt'>"Recipient" means anyone who
-receives the Program under this Agreement, including all Contributors.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-Subject to the terms of this Agreement, each Contributor hereby grants Recipient
-a non-exclusive, worldwide, royalty-free copyright license to<span
-style='color:red'> </span>reproduce, prepare derivative works of, publicly
-display, publicly perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and object code
-form.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-Subject to the terms of this Agreement, each Contributor hereby grants
-Recipient a non-exclusive, worldwide,<span style='color:green'> </span>royalty-free
-patent license under Licensed Patents to make, use, sell, offer to sell, import
-and otherwise transfer the Contribution of such Contributor, if any, in source
-code and object code form. This patent license shall apply to the combination
-of the Contribution and the Program if, at the time the Contribution is added
-by the Contributor, such addition of the Contribution causes such combination
-to be covered by the Licensed Patents. The patent license shall not apply to
-any other combinations which include the Contribution. No hardware per se is
-licensed hereunder. </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>c)
-Recipient understands that although each Contributor grants the licenses to its
-Contributions set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual property
-rights of any other entity. Each Contributor disclaims any liability to Recipient
-for claims brought by any other entity based on infringement of intellectual
-property rights or otherwise. As a condition to exercising the rights and
-licenses granted hereunder, each Recipient hereby assumes sole responsibility
-to secure any other intellectual property rights needed, if any. For example,
-if a third party patent license is required to allow Recipient to distribute
-the Program, it is Recipient's responsibility to acquire that license before
-distributing the Program.</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>d)
-Each Contributor represents that to its knowledge it has sufficient copyright
-rights in its Contribution, if any, to grant the copyright license set forth in
-this Agreement. </span></p>
-
-<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
-
-<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
-Program in object code form under its own license agreement, provided that:</span>
-</p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it complies with the terms and conditions of this Agreement; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
-its license agreement:</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
-effectively disclaims on behalf of all Contributors all warranties and
-conditions, express and implied, including warranties or conditions of title
-and non-infringement, and implied warranties or conditions of merchantability
-and fitness for a particular purpose; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
-effectively excludes on behalf of all Contributors all liability for damages,
-including direct, indirect, special, incidental and consequential damages, such
-as lost profits; </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
-states that any provisions which differ from this Agreement are offered by that
-Contributor alone and not by any other party; and</span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
-states that source code for the Program is available from such Contributor, and
-informs licensees how to obtain it in a reasonable manner on or through a
-medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
-
-<p><span style='font-size:10.0pt'>When the Program is made available in source
-code form:</span> </p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
-it must be made available under this Agreement; and </span></p>
-
-<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
-copy of this Agreement must be included with each copy of the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
-copyright notices contained within the Program. </span></p>
-
-<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
-originator of its Contribution, if any, in a manner that reasonably allows
-subsequent Recipients to identify the originator of the Contribution. </span></p>
-
-<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
-
-<p><span style='font-size:10.0pt'>Commercial distributors of software may
-accept certain responsibilities with respect to end users, business partners
-and the like. While this license is intended to facilitate the commercial use
-of the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create potential
-liability for other Contributors. Therefore, if a Contributor includes the
-Program in a commercial product offering, such Contributor ("Commercial
-Contributor") hereby agrees to defend and indemnify every other
-Contributor ("Indemnified Contributor") against any losses, damages and
-costs (collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified Contributor to
-the extent caused by the acts or omissions of such Commercial Contributor in
-connection with its distribution of the Program in a commercial product
-offering. The obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In order
-to qualify, an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial Contributor
-to control, and cooperate with the Commercial Contributor in, the defense and
-any related settlement negotiations. The Indemnified Contributor may participate
-in any such claim at its own expense.</span> </p>
-
-<p><span style='font-size:10.0pt'>For example, a Contributor might include the
-Program in a commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance claims and
-warranties are such Commercial Contributor's responsibility alone. Under this
-section, the Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and warranties, and if a
-court requires any other Contributor to pay any damages as a result, the
-Commercial Contributor must pay those damages.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT
-WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
-WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and distributing the
-Program and assumes all risks associated with its exercise of rights under this
-Agreement , including but not limited to the risks and costs of program errors,
-compliance with applicable laws, damage to or loss of data, programs or
-equipment, and unavailability or interruption of operations. </span></p>
-
-<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
-
-<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
-AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
-THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.</span> </p>
-
-<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
-
-<p><span style='font-size:10.0pt'>If any provision of this Agreement is invalid
-or unenforceable under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and without
-further action by the parties hereto, such provision shall be reformed to the
-minimum extent necessary to make such provision valid and enforceable.</span> </p>
-
-<p><span style='font-size:10.0pt'>If Recipient institutes patent litigation
-against any entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the Program with
-other software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the date
-such litigation is filed. </span></p>
-
-<p><span style='font-size:10.0pt'>All Recipient's rights under this Agreement
-shall terminate if it fails to comply with any of the material terms or
-conditions of this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all Recipient's
-rights under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive. </span></p>
-
-<p><span style='font-size:10.0pt'>Everyone is permitted to copy and distribute
-copies of this Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The Agreement
-Steward reserves the right to publish new versions (including revisions) of
-this Agreement from time to time. No one other than the Agreement Steward has
-the right to modify this Agreement. The Eclipse Foundation is the initial
-Agreement Steward. The Eclipse Foundation may assign the responsibility to
-serve as the Agreement Steward to a suitable separate entity. Each new version
-of the Agreement will be given a distinguishing version number. The Program
-(including Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new version of
-the Agreement is published, Contributor may elect to distribute the Program
-(including its Contributions) under the new version. Except as expressly stated
-in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to
-the intellectual property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the Program not
-expressly granted under this Agreement are reserved.</span> </p>
-
-<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
-State of New York and the intellectual property laws of the United States of
-America. No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each party waives
-its rights to a jury trial in any resulting litigation.</span> </p>
-
-<p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
-
-</div>
-
-</body>
-
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/core/CCorePlugin.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/core/CCorePlugin.java
deleted file mode 100644
index efd5bac..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/core/CCorePlugin.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Markus Schorn (Wind River Systems)
- * Andrew Ferguson (Symbian)
- * Anton Leherbauer (Wind River Systems)
- * oyvind.harboe@zylin.com - http://bugs.eclipse.org/250638
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class CCorePlugin
-{
- public static final String PLUGIN_ID = "bz.over.vpg.cdtdb"; //$NON-NLS-1$
-
- private static ResourceBundle fgResourceBundle;
-
- // -------- static methods --------
-
- static {
- try {
- fgResourceBundle = ResourceBundle.getBundle("org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.CCorePluginResources"); //$NON-NLS-1$
- } catch (MissingResourceException x) {
- fgResourceBundle = null;
- }
- }
-
- public static String getResourceString(String key) {
- try {
- return fgResourceBundle.getString(key);
- } catch (MissingResourceException e) {
- return "!" + key + "!"; //$NON-NLS-1$ //$NON-NLS-2$
- } catch (NullPointerException e) {
- return "#" + key + "#"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- public static void log(Throwable e)
- {
- e.printStackTrace();
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/CCorePluginResources.properties b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/CCorePluginResources.properties
deleted file mode 100644
index 36862fb..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/CCorePluginResources.properties
+++ /dev/null
@@ -1,87 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 QNX Software Systems and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# QNX Software Systems - Initial API and implementation
-# Markus Schorn (Wind River Systems)
-###############################################################################
-CBuilder.build_error= Build Error
-CoreModel.BinaryRunner.Binary_Search_Thread=Searching for Binaries
-CoreModel.CModelBuilder.Parser_Construction_Failure=Parser/Scanner construction failure.
-CoreModel.CModelBuilder.Parse_Failure=Parse failure
-CoreModel.ArchiveContainer.Archives=Archives
-CoreModel.BinaryContainer.Binaries=Binaries
-CoreModel.CModelStatus.Error_in_CPlugin=Error in C Plugin
-CoreModel.NullBinaryParser.Not_binary_file=not a binary file
-CoreModel.NullBinaryParser.Null_Format=Null Format
-
-CoreModel.PathEntry.IllegalContainerPath= Illegal container entry
-CoreModel.PathEntry.DuplicateEntry= Duplicate path entries
-CoreModel.PathEntry.NestedEntry= Nested path entries
-CoreModel.PathEntry.InvalidPathEntry= Invalid path
-
-CommandLauncher.error.commandCanceled=Command canceled
-
-CCProjectNature.exception.noNature=Project must have a cnature
-
-CCorePlugin.exception.noBinaryFormat=No Binary Format
-
-CDescriptorManager.exception.invalid_ownerID=Invalid CDT Project owner ID
-CDescriptorManager.exception.alreadyConfigured=CDT Project already configured
-CDescriptorManager.exception.listenerError=An exception occurred during descriptor notification
-CDescriptorManager.internal_owner=No CDT Project owner
-CDescriptorManager.async_updater=CDT Project async save
-CDescriptorManager.owner_not_Installed=CDT Project owner not installed
-
-CDescriptor.exception.projectAlreadyExists=CDTProject already exists
-CDescriptor.exception.unmatchedOwnerId=CDTProject already exists but does not match owner ID
-CDescriptor.exception.fileNotFound=CDTProject file not found
-CDescriptor.exception.missingOwnerId=Missing owner id
-CDescriptor.exception.missingElement=Missing cdtproject element
-CDescriptor.exception.providerNotFound=Extension not found.
-CDescriptor.extension.internalError=Internal Error
-
-ResolverModel.exception.listenerError=An exception occurred during resolver model change notification
-
-Util.exception.invalidArchive=Not a valid archive file.
-Util.exception.arrayToSmall=Array to small
-Util.exception.notPE=Not a PE format
-Util.exception.notELF=Not ELF format
-Util.exception.notDOSFormat=Not DOS EXE format
-Util.exception.notXCOFF32=Not XCOFF32 format
-Util.exception.unknownFormat=Unknow machine/format
-Util.exception.nullPath=Path is null
-Util.exception.noFileAssociation=No file associated with Binary
-Util.exception.missingBytes=missing bytes
-Util.exception.noData=no more data
-Util.exception.cannotCreatePty=Can not create pty
-Util.exception.closeError=close error
-Util.error.cannotRun=Cannot run
-Util.unknownName=unknown C++ encoded name
-Util.unknownFormat=Unknown debug format
-
-PathEntryVariableResolver.0=CDT PathEntry variable not specified
-
-CTagsIndexMarker.fileMissing=CTags output file missing
-CTagsIndexMarker.CTagsMissing=CTags not installed or not in path
-DOMIndexerMarker.EmptyScannerInfo=File not indexed because it was not built
-
-dom.languageError=Language not found
-indexer.notFound = Indexer not found
-
-pdom.requestTooLarge=Request too large
-pdom.indexer.name=C/C++ Indexer
-pdom.indexer.task=Indexing
-PDOMIndexerJob.updateMonitorJob=Update Monitor
-CCoreInternals.savePreferencesJob=Save preferences
-CConfigBasedDescriptorManager.0=the project is not a CDT project
-CConfigBasedDescriptorManager.1=description based descriptor operation can not be nested
-CConfigBasedDescriptorManager.2=can not perform descriptor operation based on the read only description
-CConfigBasedDescriptorManager.3=Failed to create descriptor
-CConfigBasedDescriptorManager.4=error: read-only configuration can not be used for CDescriptor
-CConfigBasedDescriptorManager.5=the project does not contain valid configurations
-CCorePlugin.startupJob=CDT Startup
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/BTree.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/BTree.java
deleted file mode 100644
index c958f96..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/BTree.java
+++ /dev/null
@@ -1,703 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Andrew Ferguson (Symbian) - Provide B-tree deletion routine
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core.CCorePlugin;
-
-
-/**
- * @author Doug Schaefer
- *
- */
-public class BTree {
- // Constants for internal deletion routine (see deleteImp doc)
- private static final int DELMODE_NORMAL = 0;
- private static final int DELMODE_DELETE_MINIMUM = 1;
- private static final int DELMODE_DELETE_MAXIMUM = 2;
-
- protected final Database db;
- protected final int rootPointer;
-
- protected final int DEGREE;
- protected final int MAX_RECORDS;
- protected final int MAX_CHILDREN;
- protected final int MIN_RECORDS;
- protected final int OFFSET_CHILDREN;
- protected final int MEDIAN_RECORD;
-
- protected final IBTreeComparator cmp;
-
- public BTree(Database db, int rootPointer, IBTreeComparator cmp) {
- this(db, rootPointer, 8, cmp);
- }
-
- /**
- * Constructor.
- *
- * @param db the database containing the btree
- * @param root offset into database of the pointer to the root node
- */
- public BTree(Database db, int rootPointer, int degree, IBTreeComparator cmp) {
- if(degree<2)
- throw new IllegalArgumentException(Messages.getString("BTree.IllegalDegree")); //$NON-NLS-1$
-
- this.db = db;
- this.rootPointer = rootPointer;
- this.cmp = cmp;
-
- this.DEGREE = degree;
- this.MIN_RECORDS = DEGREE - 1;
- this.MAX_RECORDS = 2*DEGREE - 1;
- this.MAX_CHILDREN = 2*DEGREE;
- this.OFFSET_CHILDREN = MAX_RECORDS * Database.INT_SIZE;
- this.MEDIAN_RECORD = DEGREE - 1;
- }
-
- protected int getRoot() throws CoreException {
- return db.getInt(rootPointer);
- }
-
- protected final void putRecord(Chunk chunk, int node, int index, int record) {
- chunk.putInt(node + index * Database.INT_SIZE, record);
- }
-
- protected final int getRecord(Chunk chunk, int node, int index) {
- return chunk.getInt(node + index * Database.INT_SIZE);
- }
-
- protected final void putChild(Chunk chunk, int node, int index, int child) {
- chunk.putInt(node + OFFSET_CHILDREN + index * Database.INT_SIZE, child);
- }
-
- protected final int getChild(Chunk chunk, int node, int index) {
- return chunk.getInt(node + OFFSET_CHILDREN + index * Database.INT_SIZE);
- }
-
- /**
- * Inserts the record into the b-tree. We don't insert if the
- * key was already there, in which case we return the record
- * that matched. In other cases, we just return the record back.
- *
- * @param offset of the record
- * @return
- */
- public int insert(int record) throws CoreException {
- int root = getRoot();
-
- // is this our first time in
- if (root == 0) {
- firstInsert(record);
- return record;
- }
-
- return insert(null, 0, 0, root, record);
- }
-
- private int insert(Chunk pChunk, int parent, int iParent, int node, int record) throws CoreException {
- Chunk chunk = db.getChunk(node);
-
- // if this node is full (last record isn't null), split it
- if (getRecord(chunk, node, MAX_RECORDS - 1) != 0) {
- int median = getRecord(chunk, node, MEDIAN_RECORD);
- if (median == record)
- // found it, never mind
- return median;
- else {
- // split it
- // create the new node and move the larger records over
- int newnode = allocateNode();
- Chunk newchunk = db.getChunk(newnode);
- for (int i = 0; i < MEDIAN_RECORD; ++i) {
- putRecord(newchunk, newnode, i, getRecord(chunk, node, MEDIAN_RECORD + 1 + i));
- putRecord(chunk, node, MEDIAN_RECORD + 1 + i, 0);
- putChild(newchunk, newnode, i, getChild(chunk, node, MEDIAN_RECORD + 1 + i));
- putChild(chunk, node, MEDIAN_RECORD + 1 + i, 0);
- }
- putChild(newchunk, newnode, MEDIAN_RECORD, getChild(chunk, node, MAX_RECORDS));
- putChild(chunk, node, MAX_RECORDS, 0);
-
- if (parent == 0) {
- // create a new root
- parent = allocateNode();
- pChunk = db.getChunk(parent);
- db.putInt(rootPointer, parent);
- putChild(pChunk, parent, 0, node);
- } else {
- // insert the median into the parent
- for (int i = MAX_RECORDS - 2; i >= iParent; --i) {
- int r = getRecord(pChunk, parent, i);
- if (r != 0) {
- putRecord(pChunk, parent, i + 1, r);
- putChild(pChunk, parent, i + 2, getChild(pChunk, parent, i + 1));
- }
- }
- }
- putRecord(pChunk, parent, iParent, median);
- putChild(pChunk, parent, iParent + 1, newnode);
-
- putRecord(chunk, node, MEDIAN_RECORD, 0);
-
- // set the node to the correct one to follow
- if (cmp.compare(record, median) > 0) {
- node = newnode;
- chunk = newchunk;
- }
- }
- }
-
- // binary search to find the insert point
- int lower= 0;
- int upper= MAX_RECORDS-1;
- while (lower < upper && getRecord(chunk, node, upper-1) == 0) {
- upper--;
- }
-
- while (lower < upper) {
- int middle= (lower+upper)/2;
- int checkRec= getRecord(chunk, node, middle);
- if (checkRec == 0) {
- upper= middle;
- }
- else {
- int compare= cmp.compare(checkRec, record);
- if (compare > 0) {
- upper= middle;
- }
- else if (compare < 0) {
- lower= middle+1;
- }
- else {
- // found it, no insert, just return the record
- return record;
- }
- }
- }
- final int i= lower;
- int child = getChild(chunk, node, i);
- if (child != 0) {
- // visit the children
- return insert(chunk, node, i, child, record);
- } else {
- // were at the leaf, add us in.
- // first copy everything after over one
- for (int j = MAX_RECORDS - 2; j >= i; --j) {
- int r = getRecord(chunk, node, j);
- if (r != 0)
- putRecord(chunk, node, j + 1, r);
- }
- putRecord(chunk, node, i, record);
- return record;
- }
- }
-
- private void firstInsert(int record) throws CoreException {
- // create the node and save it as root
- int root = allocateNode();
- db.putInt(rootPointer, root);
- // put the record in the first slot of the node
- putRecord(db.getChunk(root), root, 0, record);
- }
-
- private int allocateNode() throws CoreException {
- return db.malloc((2 * MAX_RECORDS + 1) * Database.INT_SIZE);
- }
-
- /**
- * Deletes the specified record from the B-tree.
- * <p>
- * If the specified record is not present then this routine has no effect.
- * <p>
- * Specifying a record r for which there is another record q existing in the B-tree
- * where cmp.compare(r,q)==0 && r!=q will also have no effect
- * <p>
- * N.B. The record is not deleted itself - its storage is not deallocated.
- * The reference to the record in the btree is deleted.
- *
- * @param record the record to delete
- * @param cmp the comparator for locating the record
- * @throws CoreException
- */
- public void delete(int record) throws CoreException {
- try {
- deleteImp(record, getRoot(), DELMODE_NORMAL);
- } catch(BTreeKeyNotFoundException e) {
- // contract of this method is to NO-OP upon this event
- }
- }
-
- private class BTreeKeyNotFoundException extends Exception {
- private static final long serialVersionUID = 9065438266175091670L;
- public BTreeKeyNotFoundException(String msg) {
- super(msg);
- }
- }
-
- /**
- * Used in implementation of delete routines
- */
- private class BTNode {
- final int node;
- final int keyCount;
- final Chunk chunk;
-
- BTNode(int node) throws CoreException {
- this.node = node;
- this.chunk = db.getChunk(node);
- int i=0;
- while(i<MAX_RECORDS && getRecord(chunk, node, i)!=0)
- i++;
- keyCount = i;
- }
-
- private BTNode getChild(int index) throws CoreException {
- if(0<=index && index<MAX_CHILDREN) {
- int child = BTree.this.getChild(chunk, node, index);
- if(child!=0)
- return new BTNode(child);
- }
- return null;
- }
- }
-
- /**
- * Implementation for deleting a key/record from the B-tree.
- * <p>
- * There is no distinction between keys and records.
- * <p>
- * This implements a single downward pass (with minor exceptions) deletion
- * <p>
- * @param key the address of the record to delete
- * @param nodeRecord a node that (directly or indirectly) contains the specified key/record
- * @param mode one of DELMODE_NORMAL, DELMODE_DELETE_MINIMUM, DELMODE_DELETE_MAXIMUM
- * where DELMODE_NORMAL: locates the specified key/record using the comparator provided
- * DELMODE_DELETE_MINIMUM: locates and deletes the minimum element in the subtree rooted at nodeRecord
- * DELMODE_DELETE_MAXIMUM: locates and deletes the maximum element in the subtree rooted at nodeRecord
- * @param cmp the comparator used to locate the record in the tree
- * @return the address of the record removed from the B-tree
- * @throws CoreException
- */
- private int deleteImp(int key, int nodeRecord, int mode)
- throws CoreException, BTreeKeyNotFoundException {
- BTNode node = new BTNode(nodeRecord);
-
- // Determine index of key in current node, or -1 if its not in this node
- int keyIndexInNode = -1;
- if(mode==DELMODE_NORMAL)
- for(int i=0; i<node.keyCount; i++)
- if(getRecord(node.chunk, node.node, i) == key) {
- keyIndexInNode = i;
- break;
- }
-
- if(getChild(node.chunk, node.node, 0)==0) {
- /* Case 1: leaf node containing the key (by method precondition) */
- if(keyIndexInNode!=-1) {
- nodeContentDelete(node, keyIndexInNode, 1);
- return key;
- } else {
- if(mode==DELMODE_DELETE_MINIMUM) {
- int subst = getRecord(node.chunk, node.node, 0);
- nodeContentDelete(node, 0, 1);
- return subst;
- } else if(mode==DELMODE_DELETE_MAXIMUM) {
- int subst = getRecord(node.chunk, node.node, node.keyCount-1);
- nodeContentDelete(node, node.keyCount-1, 1);
- return subst;
- }
- throw new BTreeKeyNotFoundException(
- MessageFormat.format(Messages.getString("BTree.DeletionOnAbsentKey"), //$NON-NLS-1$
- new Object[]{new Integer(key), new Integer(mode)}));
- }
- } else {
- if(keyIndexInNode != -1) {
- /* Case 2: non-leaf node which contains the key itself */
-
- BTNode succ = node.getChild(keyIndexInNode+1);
- if(succ!=null && succ.keyCount > MIN_RECORDS) {
- /* Case 2a: Delete key by overwriting it with its successor (which occurs in a leaf node) */
- int subst = deleteImp(-1, succ.node, DELMODE_DELETE_MINIMUM);
- putRecord(node.chunk, node.node, keyIndexInNode, subst);
- return key;
- }
-
- BTNode pred = node.getChild(keyIndexInNode);
- if(pred!=null && pred.keyCount > MIN_RECORDS) {
- /* Case 2b: Delete key by overwriting it with its predecessor (which occurs in a leaf node) */
- int subst = deleteImp(-1, pred.node, DELMODE_DELETE_MAXIMUM);
- putRecord(node.chunk, node.node, keyIndexInNode, subst);
- return key;
- }
-
- /* Case 2c: Merge successor and predecessor */
- // assert(pred!=null && succ!=null);
- mergeNodes(succ, node, keyIndexInNode, pred);
- return deleteImp(key, pred.node, mode);
- } else {
- /* Case 3: non-leaf node which does not itself contain the key */
-
- /* Determine root of subtree that should contain the key */
- int subtreeIndex;
- switch(mode) {
- case DELMODE_NORMAL:
- subtreeIndex = node.keyCount;
- for(int i=0; i<node.keyCount; i++)
- if(cmp.compare(getRecord(node.chunk, node.node, i), key)>0) {
- subtreeIndex = i;
- break;
- }
- break;
- case DELMODE_DELETE_MINIMUM: subtreeIndex = 0; break;
- case DELMODE_DELETE_MAXIMUM: subtreeIndex = node.keyCount; break;
- default: throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, IStatus.OK, Messages.getString("BTree.UnknownMode"), null)); //$NON-NLS-1$
- }
-
- BTNode child = node.getChild(subtreeIndex);
- if(child==null) {
- throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, IStatus.OK, Messages.getString("BTree.IntegrityError"), null)); //$NON-NLS-1$
- }
-
- if(child.keyCount > MIN_RECORDS) {
- return deleteImp(key, child.node, mode);
- } else {
- BTNode sibR = node.getChild(subtreeIndex+1);
- if(sibR!=null && sibR.keyCount > MIN_RECORDS) {
- /* Case 3a (i): child will underflow upon deletion, take a key from rightSibling */
- int rightKey = getRecord(node.chunk, node.node, subtreeIndex);
- int leftmostRightSiblingKey = getRecord(sibR.chunk, sibR.node, 0);
- append(child, rightKey, getChild(sibR.chunk, sibR.node, 0));
- nodeContentDelete(sibR, 0, 1);
- putRecord(node.chunk, node.node, subtreeIndex, leftmostRightSiblingKey);
- return deleteImp(key, child.node, mode);
- }
-
- BTNode sibL = node.getChild(subtreeIndex-1);
- if(sibL!=null && sibL.keyCount > MIN_RECORDS) {
- /* Case 3a (ii): child will underflow upon deletion, take a key from leftSibling */
- int leftKey = getRecord(node.chunk, node.node, subtreeIndex-1);
- prepend(child, leftKey, getChild(sibL.chunk, sibL.node, sibL.keyCount));
- int rightmostLeftSiblingKey = getRecord(sibL.chunk, sibL.node, sibL.keyCount-1);
- putRecord(sibL.chunk, sibL.node, sibL.keyCount-1, 0);
- putChild(sibL.chunk, sibL.node, sibL.keyCount, 0);
- putRecord(node.chunk, node.node, subtreeIndex-1, rightmostLeftSiblingKey);
- return deleteImp(key, child.node, mode);
- }
-
- /* Case 3b (i,ii): leftSibling, child, rightSibling all have minimum number of keys */
-
- if(sibL!=null) { // merge child into leftSibling
- mergeNodes(child, node, subtreeIndex-1, sibL);
- return deleteImp(key, sibL.node, mode);
- }
-
- if(sibR!=null) { // merge rightSibling into child
- mergeNodes(sibR, node, subtreeIndex, child);
- return deleteImp(key, child.node, mode);
- }
-
- throw new BTreeKeyNotFoundException(
- MessageFormat.format(Messages.getString("BTree.DeletionOnAbsentKey"), //$NON-NLS-1$
- new Object[]{new Integer(key), new Integer(mode)}));
- }
- }
- }
- }
-
- /**
- * Merge node 'src' onto the right side of node 'dst' using node
- * 'keyProvider' as the source of the median key. Bounds checking is not
- * performed.
- * @param src the key to merge into dst
- * @param mid the node that provides the median key for the new node
- * @param kIndex the index of the key in the node <i>mid</i> which is to become the new node's median key
- * @param dst the node which is the basis and result of the merge
- */
- public void mergeNodes(BTNode src, BTNode keyProvider, int kIndex, BTNode dst)
- throws CoreException {
- nodeContentCopy(src, 0, dst, dst.keyCount+1, src.keyCount+1);
- int midKey = getRecord(keyProvider.chunk, keyProvider.node, kIndex);
- putRecord(dst.chunk, dst.node, dst.keyCount, midKey);
- int keySucc = kIndex+1 == MAX_RECORDS ? 0 : getRecord(keyProvider.chunk, keyProvider.node, kIndex+1);
- db.free(getChild(keyProvider.chunk, keyProvider.node, kIndex+1));
- nodeContentDelete(keyProvider, kIndex+1, 1);
- putRecord(keyProvider.chunk, keyProvider.node, kIndex, keySucc);
- if(kIndex == 0 && keySucc == 0) {
- /*
- * The root node is excused from the property that a node must have a least MIN keys
- * This means we must special case it at the point when its had all of its keys deleted
- * entirely during merge operations (which push one of its keys down as a pivot)
- */
- int rootNode = getRoot();
- if(rootNode == keyProvider.node) {
- db.putInt(rootPointer, dst.node);
- db.free(rootNode);
- }
- }
- }
-
- /**
- * Insert the key and (its predecessor) child at the left side of the specified node. Bounds checking
- * is not performed.
- * @param node the node to prepend to
- * @param key the new leftmost (least) key
- * @param child the new leftmost (least) subtree root
- */
- private void prepend(BTNode node, int key, int child) {
- nodeContentCopy(node, 0, node, 1, node.keyCount+1);
- putRecord(node.chunk, node.node, 0, key);
- putChild(node.chunk, node.node, 0, child);
- }
-
- /**
- * Insert the key and (its successor) child at the right side of the specified node. Bounds checking
- * is not performed.
- * @param node
- * @param key
- * @param child
- */
- private void append(BTNode node, int key, int child) {
- putRecord(node.chunk, node.node, node.keyCount, key);
- putChild(node.chunk, node.node, node.keyCount + 1, child);
- }
-
- /**
- * Overwrite a section of the specified node (dst) with the specified section of the source node. Bounds checking
- * is not performed. To allow just copying of the final child (which has no corresponding key) the routine
- * behaves as though there were a corresponding key existing with value zero.<p>
- * Copying from a node to itself is permitted.
- * @param src the node to read from
- * @param srcPos the initial index to read from (inclusive)
- * @param dst the node to write to
- * @param dstPos the initial index to write to (inclusive)
- * @param length the number of (key,(predecessor)child) nodes to write
- */
- private void nodeContentCopy(BTNode src, int srcPos, BTNode dst, int dstPos, int length) {
- for(int i=length-1; i>=0; i--) { // this order is important when src==dst!
- int srcIndex = srcPos + i;
- int dstIndex = dstPos + i;
-
- if(srcIndex<src.keyCount+1) {
- int srcChild = getChild(src.chunk, src.node, srcIndex);
- putChild(dst.chunk, dst.node, dstIndex, srcChild);
-
- if(srcIndex<src.keyCount) {
- int srcKey = getRecord(src.chunk, src.node, srcIndex);
- putRecord(dst.chunk, dst.node, dstIndex, srcKey);
- }
- }
- }
- }
-
- /**
- * Delete a section of node content - (key, (predecessor)child) pairs. Bounds checking
- * is not performed. To allow deletion of the final child (which has no corresponding key) the routine
- * behaves as though there were a corresponding key existing with value zero.<p>
- * Content is deleted and remaining content is moved leftward the appropriate amount.
- * @param node the node to delete content from
- * @param i the start index (inclusive) to delete from
- * @param length the length of the sequence to delete
- */
- private void nodeContentDelete(BTNode node, int i, int length) {
- for(int index=i; index<=MAX_RECORDS; index++) {
- int newKey = (index+length) < node.keyCount ? getRecord(node.chunk, node.node, index+length) : 0;
- int newChild = (index+length) < node.keyCount+1 ? getChild(node.chunk, node.node, index+length) : 0;
- if(index<MAX_RECORDS) {
- putRecord(node.chunk, node.node, index, newKey);
- }
- if(index<MAX_CHILDREN) {
- putChild(node.chunk, node.node, index, newChild);
- }
- }
- }
-
- /**
- * Visit all nodes beginning when the visitor comparator
- * returns >= 0 until the visitor visit returns falls.
- *
- * @param visitor
- */
- public void accept(IBTreeVisitor visitor) throws CoreException {
- accept(db.getInt(rootPointer), visitor);
- }
-
- private boolean accept(int node, IBTreeVisitor visitor) throws CoreException {
- // if found is false, we are still in search mode
- // once found is true visit everything
- // return false when ready to quit
-
- if (node == 0) {
- return true;
- }
- if(visitor instanceof IBTreeVisitor2) {
- ((IBTreeVisitor2)visitor).preNode(node);
- }
-
- try {
- Chunk chunk = db.getChunk(node);
-
- // binary search to find first record greater or equal
- int lower= 0;
- int upper= MAX_RECORDS-1;
- while (lower < upper && getRecord(chunk, node, upper-1) == 0) {
- upper--;
- }
- while (lower < upper) {
- int middle= (lower+upper)/2;
- int checkRec= getRecord(chunk, node, middle);
- if (checkRec == 0) {
- upper= middle;
- }
- else {
- int compare= visitor.compare(checkRec);
- if (compare >= 0) {
- upper= middle;
- }
- else {
- lower= middle+1;
- }
- }
- }
-
- // start with first record greater or equal, reuse comparison results.
- int i= lower;
- for (; i < MAX_RECORDS; ++i) {
- int record = getRecord(chunk, node, i);
- if (record == 0)
- break;
-
- int compare= visitor.compare(record);
- if (compare > 0) {
- // start point is to the left
- return accept(getChild(chunk, node, i), visitor);
- }
- else if (compare == 0) {
- if (!accept(getChild(chunk, node, i), visitor))
- return false;
- if (!visitor.visit(record))
- return false;
- }
- }
- return accept(getChild(chunk, node, i), visitor);
- } finally {
- if(visitor instanceof IBTreeVisitor2) {
- ((IBTreeVisitor2)visitor).postNode(node);
- }
- }
- }
-
- /*
- * TODO: It would be good to move these into IBTreeVisitor and eliminate
- * IBTreeVisitor2 if this is acceptable.
- */
- private interface IBTreeVisitor2 extends IBTreeVisitor {
- void preNode(int node) throws CoreException;
- void postNode(int node) throws CoreException;
- }
-
- /**
- * Debugging method for checking B-tree invariants
- * @return the empty String if B-tree invariants hold, otherwise
- * a human readable report
- * @throws CoreException
- */
- public String getInvariantsErrorReport() throws CoreException {
- InvariantsChecker checker = new InvariantsChecker();
- accept(checker);
- return checker.isValid() ? "" : checker.getMsg(); //$NON-NLS-1$
- }
-
- /**
- * A B-tree visitor for checking some B-tree invariants.
- * Note ordering invariants are not checked here.
- */
- private class InvariantsChecker implements IBTreeVisitor2 {
- boolean valid = true;
- String msg = ""; //$NON-NLS-1$
- Integer leafDepth;
- int depth;
-
- public String getMsg() { return msg; }
- public boolean isValid() { return valid; }
- public void postNode(int node) throws CoreException { depth--; }
- public int compare(int record) throws CoreException { return 0; }
- public boolean visit(int record) throws CoreException { return true; }
-
- public void preNode(int node) throws CoreException {
- depth++;
-
- // collect information for checking
- int keyCount = 0;
- int indexFirstBlankKey = MAX_RECORDS;
- int indexLastNonBlankKey = 0;
- for(int i=0; i<MAX_RECORDS; i++) {
- if(getRecord(db.getChunk(node), node, i)!=0) {
- keyCount++;
- indexLastNonBlankKey = i;
- } else if(indexFirstBlankKey== MAX_RECORDS){
- indexFirstBlankKey = i;
- }
- }
-
- int childCount = 0;
- for(int i=0; i<MAX_CHILDREN; i++) {
- if(getChild(db.getChunk(node), node, i)!=0) {
- childCount++;
- }
- }
-
- // check that non-blank keys are contiguous and blank key terminated
- if(indexFirstBlankKey != indexLastNonBlankKey+1) {
- boolean full = indexFirstBlankKey == MAX_RECORDS && indexLastNonBlankKey == MAX_RECORDS-1;
- boolean empty = indexFirstBlankKey == 0 && indexLastNonBlankKey == 0;
- if(!full && !empty){
- valid = false;
- msg += MessageFormat.format(Messages.getString("BTree.IntegrityErrorA"), //$NON-NLS-1$
- new Object[]{new Integer(node), new Integer(indexFirstBlankKey), new Integer(indexLastNonBlankKey)});
- }
- }
-
- // Check: Key number constrains child numbers
- if(childCount!=0 && childCount!=keyCount+1) {
- valid = false;
- msg += MessageFormat.format(Messages.getString("BTree.IntegrityErrorB"), new Object[]{new Integer(node)}); //$NON-NLS-1$
- }
-
- // the root node is excused from the remaining node constraints
- if(node == db.getInt(rootPointer)) {
- return;
- }
-
- // Check: Non-root nodes must have a keyCount within a certain range
- if(keyCount < MIN_RECORDS || keyCount > MAX_RECORDS) {
- valid = false;
- msg += MessageFormat.format(Messages.getString("BTree.IntegrityErrorC"), new Object[]{new Integer(node)}); //$NON-NLS-1$
- }
-
- // Check: All leaf nodes are at the same depth
- if(childCount==0) {
- if(leafDepth==null) {
- leafDepth = new Integer(depth);
- }
- if(depth!=leafDepth.intValue()) {
- valid = false;
- msg += Messages.getString("BTree.IntegrityErrorD"); //$NON-NLS-1$
- }
- }
- }
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Chunk.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Chunk.java
deleted file mode 100644
index 554c369..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Chunk.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Markus Schorn (Wind River Systems)
- * IBM Corporation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Caches the content of a piece of the database.
- */
-final class Chunk {
- final private byte[] fBuffer= new byte[Database.CHUNK_SIZE];
-
- final Database fDatabase;
- final int fSequenceNumber;
-
- boolean fCacheHitFlag= false;
- boolean fDirty= false;
- boolean fLocked= false; // locked chunks must not be released from cache.
- int fCacheIndex= -1;
-
- Chunk(Database db, int sequenceNumber) {
- fDatabase= db;
- fSequenceNumber= sequenceNumber;
- }
-
- void read() throws CoreException {
- try {
- final ByteBuffer buf= ByteBuffer.wrap(fBuffer);
- fDatabase.read(buf, fSequenceNumber*Database.CHUNK_SIZE);
- } catch (IOException e) {
- throw new CoreException(new DBStatus(e));
- }
- }
-
- void flush() throws CoreException {
- try {
- final ByteBuffer buf= ByteBuffer.wrap(fBuffer);
- fDatabase.write(buf, fSequenceNumber*Database.CHUNK_SIZE);
- } catch (IOException e) {
- throw new CoreException(new DBStatus(e));
- }
- fDirty= false;
- }
-
- public void putByte(final int offset, final byte value) {
- assert fLocked;
- fDirty= true;
- fBuffer[offset % Database.CHUNK_SIZE]= value;
- }
-
- public byte getByte(final int offset) {
- return fBuffer[offset % Database.CHUNK_SIZE];
- }
-
- public byte[] getBytes(final int offset, final int length) {
- final byte[] bytes = new byte[length];
- System.arraycopy(fBuffer, offset % Database.CHUNK_SIZE, bytes, 0, length);
- return bytes;
- }
-
- public void putBytes(final int offset, final byte[] bytes) {
- assert fLocked;
- fDirty= true;
- System.arraycopy(bytes, 0, fBuffer, offset % Database.CHUNK_SIZE, bytes.length);
- }
-
- public void putInt(final int offset, final int value) {
- assert fLocked;
- fDirty= true;
- int idx= offset % Database.CHUNK_SIZE;
- fBuffer[idx]= (byte)(value >> 24);
- fBuffer[++idx]= (byte)(value >> 16);
- fBuffer[++idx]= (byte)(value >> 8);
- fBuffer[++idx]= (byte)(value);
- }
-
- public int getInt(final int offset) {
- int idx= offset % Database.CHUNK_SIZE;
- return ((fBuffer[idx] & 0xff) << 24) |
- ((fBuffer[++idx] & 0xff) << 16) |
- ((fBuffer[++idx] & 0xff) << 8) |
- ((fBuffer[++idx] & 0xff) << 0);
- }
-
- public void putShort(final int offset, final short value) {
- assert fLocked;
- fDirty= true;
- int idx= offset % Database.CHUNK_SIZE;
- fBuffer[idx]= (byte)(value >> 8);
- fBuffer[++idx]= (byte)(value);
- }
-
- public short getShort(final int offset) {
- int idx= offset % Database.CHUNK_SIZE;
- return (short) (((fBuffer[idx] << 8) | (fBuffer[++idx] & 0xff)));
- }
-
- public long getLong(final int offset) {
- int idx= offset % Database.CHUNK_SIZE;
- return ((((long)fBuffer[idx] & 0xff) << 56) |
- (((long)fBuffer[++idx] & 0xff) << 48) |
- (((long)fBuffer[++idx] & 0xff) << 40) |
- (((long)fBuffer[++idx] & 0xff) << 32) |
- (((long)fBuffer[++idx] & 0xff) << 24) |
- (((long)fBuffer[++idx] & 0xff) << 16) |
- (((long)fBuffer[++idx] & 0xff) << 8) |
- (((long)fBuffer[++idx] & 0xff) << 0));
- }
-
- public void putLong(final int offset, final long value) {
- assert fLocked;
- fDirty= true;
- int idx= offset % Database.CHUNK_SIZE;
-
- fBuffer[idx]= (byte)(value >> 56);
- fBuffer[++idx]= (byte)(value >> 48);
- fBuffer[++idx]= (byte)(value >> 40);
- fBuffer[++idx]= (byte)(value >> 32);
- fBuffer[++idx]= (byte)(value >> 24);
- fBuffer[++idx]= (byte)(value >> 16);
- fBuffer[++idx]= (byte)(value >> 8);
- fBuffer[++idx]= (byte)(value);
- }
-
- public void putChar(final int offset, final char value) {
- assert fLocked;
- fDirty= true;
- int idx= offset % Database.CHUNK_SIZE;
- fBuffer[idx]= (byte)(value >> 8);
- fBuffer[++idx]= (byte)(value);
- }
-
- public char getChar(final int offset) {
- int idx= offset % Database.CHUNK_SIZE;
- return (char) (((fBuffer[idx] << 8) | (fBuffer[++idx] & 0xff)));
- }
-
- public void getCharArray(final int offset, final char[] result) {
- final ByteBuffer buf= ByteBuffer.wrap(fBuffer);
- buf.position(offset % Database.CHUNK_SIZE);
- buf.asCharBuffer().get(result);
- }
-
- void clear(final int offset, final int length) {
- assert fLocked;
- fDirty= true;
- int idx= (offset % Database.CHUNK_SIZE);
- final int end= idx + length;
- for (; idx < end; idx++) {
- fBuffer[idx]= 0;
- }
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ChunkCache.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ChunkCache.java
deleted file mode 100644
index 455060a..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ChunkCache.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Wind River Systems, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Markus Schorn - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-public final class ChunkCache {
- private static ChunkCache sSharedInstance= new ChunkCache();
-
- private Chunk[] fPageTable;
- private boolean fTableIsFull= false;
- private int fPointer= 0;
-
- public static ChunkCache getSharedInstance() {
- return sSharedInstance;
- }
-
- public ChunkCache() {
- this(5*1024*1024);
- }
-
- public ChunkCache(long maxSize) {
- fPageTable= new Chunk[computeLength(maxSize)];
- }
-
- public synchronized void add(Chunk chunk, boolean locked) {
- if (locked) {
- chunk.fLocked= true;
- }
- if (chunk.fCacheIndex >= 0) {
- chunk.fCacheHitFlag= true;
- return;
- }
- if (fTableIsFull) {
- evictChunk();
- chunk.fCacheIndex= fPointer;
- fPageTable[fPointer]= chunk;
- }
- else {
- chunk.fCacheIndex= fPointer;
- fPageTable[fPointer]= chunk;
-
- fPointer++;
- if (fPointer == fPageTable.length) {
- fPointer= 0;
- fTableIsFull= true;
- }
- }
- }
-
- /**
- * Evicts a chunk from the page table and the chunk table.
- * After this method returns, {@link #fPointer} will contain
- * the index of the evicted chunk within the page table.
- */
- private void evictChunk() {
- /*
- * Use the CLOCK algorithm to determine which chunk to evict.
- * i.e., if the chunk in the current slot of the page table has been
- * recently referenced (i.e. the reference flag is set), unset the
- * reference flag and move to the next slot. Otherwise, evict the
- * chunk in the current slot.
- */
- while (true) {
- Chunk chunk = fPageTable[fPointer];
- if (chunk.fCacheHitFlag) {
- chunk.fCacheHitFlag= false;
- fPointer= (fPointer + 1) % fPageTable.length;
- } else {
- chunk.fDatabase.releaseChunk(chunk);
- chunk.fCacheIndex= -1;
- fPageTable[fPointer] = null;
- return;
- }
- }
- }
-
- public synchronized void remove(Chunk chunk) {
- final int idx= chunk.fCacheIndex;
- if (idx >= 0) {
- if (fTableIsFull) {
- fPointer= fPageTable.length-1;
- fTableIsFull= false;
- }
- else {
- fPointer--;
- }
- chunk.fCacheIndex= -1;
- final Chunk move= fPageTable[fPointer];
- fPageTable[idx]= move;
- move.fCacheIndex= idx;
- fPageTable[fPointer]= null;
- }
- }
-
- /**
- * Returns the maximum size of the chunk cache in bytes.
- */
- public synchronized long getMaxSize() {
- return (long) fPageTable.length * Database.CHUNK_SIZE;
- }
-
- /**
- * Clears the page table and changes it to hold chunks with
- * maximum total memory of <code>maxSize</code>.
- * @param maxSize the total size of the chunks in bytes.
- */
- public synchronized void setMaxSize(long maxSize) {
- final int newLength= computeLength(maxSize);
- final int oldLength= fTableIsFull ? fPageTable.length : fPointer;
- if (newLength > oldLength) {
- Chunk[] newTable= new Chunk[newLength];
- System.arraycopy(fPageTable, 0, newTable, 0, oldLength);
- fTableIsFull= false;
- fPointer= oldLength;
- fPageTable= newTable;
- }
- else {
- for (int i=newLength; i<oldLength; i++) {
- final Chunk chunk= fPageTable[i];
- chunk.fDatabase.releaseChunk(chunk);
- chunk.fCacheIndex= -1;
- }
- Chunk[] newTable= new Chunk[newLength];
- System.arraycopy(fPageTable, 0, newTable, 0, newLength);
- fTableIsFull= true;
- fPointer= 0;
- fPageTable= newTable;
- }
- }
-
- private int computeLength(long maxSize) {
- long maxLength= Math.min(maxSize/Database.CHUNK_SIZE, Integer.MAX_VALUE);
- return Math.max(1, (int)maxLength);
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java
deleted file mode 100644
index 7d2c1c9..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007 Symbian Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrew Ferguson (Symbian) - Initial implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * DBProperties is a bare-bones implementation of a String->String mapping. It is neither
- * a Map or a Properties subclass, because of their more general applications.
- */
-public class DBProperties {
- static final int PROP_INDEX = 0;
- static final int RECORD_SIZE = 4;
-
- protected BTree index;
- protected Database db;
- protected int record;
-
- /**
- * Allocate storage for a new DBProperties record in the specified database
- * @param db
- * @throws CoreException
- */
- public DBProperties(Database db) throws CoreException {
- this.record= db.malloc(RECORD_SIZE);
- this.index= new BTree(db, record + PROP_INDEX, DBProperty.getComparator(db));
- this.db= db;
- }
-
- /**
- * Creates an object for accessing an existing DBProperties record at the specified location of the specified database
- * @param db
- * @param record
- * @throws CoreException
- */
- public DBProperties(Database db, int record) throws CoreException {
- this.record= record;
- this.index= new BTree(db, record + PROP_INDEX, DBProperty.getComparator(db));
- this.db= db;
- }
-
- /**
- * Read the named property from this properties storage
- * @param key a case-sensitive identifier for a property, or null
- * @return the value associated with the key, or null if either no such property is set, or the specified key was null
- * @throws CoreException
- */
- public String getProperty(String key) throws CoreException {
- if(key!=null) {
- DBProperty existing= DBProperty.search(db, index, key);
- if(existing!=null) {
- return existing.getValue().getString();
- }
- }
- return null;
- }
-
- /**
- * Read the named property from this properties storage, returning the default value if there is no such property
- * @param key a case-sensitive identifier for a property, or null
- * @param defaultValue a value to return in case the specified key was null
- * @return the value associated with the key, or the specified default value if either no such property is set, or
- * the specified key was null
- * @throws CoreException
- */
- public String getProperty(String key, String defaultValue) throws CoreException {
- String val= getProperty(key);
- return (val == null) ? defaultValue : val;
- }
-
- /**
- * Returns a Set of property names (Strings) stored in this object
- * @return a Set of property names (Strings) stored in this object
- * @throws CoreException
- */
- public Set getKeySet() throws CoreException {
- return DBProperty.getKeySet(db, index);
- }
-
- /**
- * Write the key, value mapping to the properties. If a mapping for the
- * same key already exists, it is overwritten.
- * @param key a non-null property name
- * @param value a value to associate with the key. may not be null.
- * @throws CoreException
- * @throws NullPointerException if key is null
- */
- public void setProperty(String key, String value) throws CoreException {
- removeProperty(key);
- DBProperty newProperty= new DBProperty(db, key, value);
- index.insert(newProperty.getRecord());
- }
-
- /**
- * Deletes a property from this DBProperties object
- * @param key
- * @return whether a property with matching key existed and was removed, or false if the key was null
- * @throws CoreException
- */
- public boolean removeProperty(String key) throws CoreException {
- if(key!=null) {
- DBProperty existing= DBProperty.search(db, index, key);
- if(existing != null) {
- index.delete(existing.getRecord());
- existing.delete();
- return true;
- }
- }
- return false;
- }
-
- /**
- * Deletes all properties, does not delete the record associated with the object itself - that is
- * it can be repopulated.
- * @throws CoreException
- */
- public void clear() throws CoreException {
- index.accept(new IBTreeVisitor(){
- public int compare(int record) throws CoreException {
- return 0;
- }
- public boolean visit(int record) throws CoreException {
- new DBProperty(db, record).delete();
- return false; // there should never be duplicates
- }
- });
- }
-
- /**
- * Deletes all properties stored in this object and the record associated with this object itself.
- * <br><br>
- * <b>The behaviour of objects of this class after calling this method is undefined</b>
- * @throws CoreException
- */
- public void delete() throws CoreException {
- clear();
- db.free(record);
- }
-
- public int getRecord() {
- return record;
- }
-
- private static class DBProperty {
- static final int KEY = 0;
- static final int VALUE = 4;
- static final int RECORD_SIZE = 8;
-
- Database db;
- int record;
-
- public int getRecord() {
- return record;
- }
-
- /**
- * Allocates and initializes a record in the specified database for a DBProperty record
- * @param db
- * @param key a non-null property name
- * @param value a non-null property value
- * @throws CoreException
- */
- DBProperty(Database db, String key, String value) throws CoreException {
- assert key!=null;
- assert value!=null;
- IString dbkey= db.newString(key);
- IString dbvalue= db.newString(value);
- this.record= db.malloc(RECORD_SIZE);
- db.putInt(record + KEY, dbkey.getRecord());
- db.putInt(record + VALUE, dbvalue.getRecord());
- this.db= db;
- }
-
- /**
- * Returns an object for accessing an existing DBProperty record at the specified location in the
- * specified database
- * @param db
- * @param record
- */
- DBProperty(Database db, int record) {
- this.record= record;
- this.db= db;
- }
-
- public IString getKey() throws CoreException {
- return db.getString(db.getInt(record + KEY));
- }
-
- public IString getValue() throws CoreException {
- return db.getString(db.getInt(record + VALUE));
- }
-
- public static IBTreeComparator getComparator(final Database db) {
- return new IBTreeComparator() {
- public int compare(int record1, int record2) throws CoreException {
- IString left= db.getString(db.getInt(record1 + KEY));
- IString right= db.getString(db.getInt(record2 + KEY));
- return left.compare(right, true);
- }
- };
- }
-
- public static DBProperty search(final Database db, final BTree index, final String key) throws CoreException {
- final DBProperty[] result= new DBProperty[1];
- index.accept(new IBTreeVisitor(){
- public int compare(int record) throws CoreException {
- return db.getString(db.getInt(record + KEY)).compare(key, true);
- }
- public boolean visit(int record) throws CoreException {
- result[0] = new DBProperty(db, record);
- return false; // there should never be duplicates
- }
- });
- return result[0];
- }
-
- public static Set getKeySet(final Database db, final BTree index) throws CoreException {
- final Set result= new HashSet();
- index.accept(new IBTreeVisitor(){
- public int compare(int record) throws CoreException {
- return 0;
- }
- public boolean visit(int record) throws CoreException {
- result.add(new DBProperty(db, record).getKey().getString());
- return true; // there should never be duplicates
- }
- });
- return result;
- }
-
- public void delete() throws CoreException {
- db.getString(db.getInt(record + KEY)).delete();
- db.getString(db.getInt(record + VALUE)).delete();
- db.free(record);
- }
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBStatus.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBStatus.java
deleted file mode 100644
index 962a811..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/DBStatus.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core.CCorePlugin;
-
-
-/**
- * @author Doug Schaefer
- *
- */
-public class DBStatus extends Status {
-
- /**
- * @param exception
- */
- public DBStatus(IOException exception) {
- super(IStatus.ERROR, CCorePlugin.PLUGIN_ID, 0, "IOException", exception); //$NON-NLS-1$
- }
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Database.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Database.java
deleted file mode 100644
index 2d85386..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Database.java
+++ /dev/null
@@ -1,647 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Symbian - Add some non-javadoc implementation notes
- * Markus Schorn (Wind River Systems)
- * IBM Corporation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.RandomAccessFile;
-import java.nio.ByteBuffer;
-import java.nio.channels.ClosedByInterruptException;
-import java.nio.channels.ClosedChannelException;
-import java.nio.channels.FileChannel;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core.CCorePlugin;
-
-
-/**
- * Database encapsulates access to a flat binary format file with a memory-manager-like API for
- * obtaining and releasing areas of storage (memory).
- *
- * @author Doug Schaefer
- */
-/*
- * The file encapsulated is divided into Chunks of size CHUNK_SIZE, and a table of contents
- * mapping chunk index to chunk address is maintained. Chunk structure exists only conceptually -
- * its not a structure that appears in the file.
- *
- * ===== The first chunk is used by Database itself for house-keeping purposes and has structure
- *
- * offset content
- * _____________________________
- * 0 | version number
- * INT_SIZE | pointer to head of linked list of blocks of size MIN_SIZE
- * .. | ...
- * INT_SIZE * m (1) | pointer to head of linked list of blocks of size MIN_SIZE * m
- * DATA_AREA | undefined (PDOM stores its own house-keeping data in this area)
- *
- * (1) where m <= (CHUNK_SIZE / MIN_SIZE)
- *
- * ===== block structure
- *
- * offset content
- * _____________________________
- * 0 | size of block (negative indicates in use, positive unused)
- * PREV_OFFSET | pointer to prev block (of same size)
- * NEXT_OFFSET | pointer to next block (of same size)
- *
- */
-public class Database {
-
- private final File fLocation;
- private final boolean fReadOnly;
- private RandomAccessFile fFile;
- private boolean fExclusiveLock= false; // necessary for any write operation
- private boolean fLocked; // necessary for any operation.
- private boolean fIsMarkedIncomplete= false;
-
- private int fVersion;
- private final Chunk fHeaderChunk;
- private Chunk[] fChunks;
- private ChunkCache fCache;
-
- private long malloced;
- private long freed;
- private long cacheHits;
- private long cacheMisses;
-
- // public for tests only, you shouldn't need these
- public static final int VERSION_OFFSET = 0;
- public static final int CHUNK_SIZE = 1024 * 4;
- public static final int MIN_SIZE = 16;
- public static final int INT_SIZE = 4;
- public static final int CHAR_SIZE = 2;
- public static final int PREV_OFFSET = INT_SIZE;
- public static final int NEXT_OFFSET = INT_SIZE * 2;
- public static final int DATA_AREA = CHUNK_SIZE / MIN_SIZE * INT_SIZE + INT_SIZE;
-
- public static final int MAX_SIZE = CHUNK_SIZE - 4; // Room for overhead
-
- /**
- * Construct a new Database object, creating a backing file if necessary.
- * @param location the local file path for the database
- * @param cache the cache to be used optimization
- * @param version the version number to store in the database (only applicable for new databases)
- * @param permanentReadOnly whether this Database object will ever need writing to
- * @throws CoreException
- */
- public Database(File location, ChunkCache cache, int version, boolean openReadOnly) throws CoreException {
- try {
- fLocation = location;
- fReadOnly= openReadOnly;
- fCache= cache;
- openFile();
-
- int nChunksOnDisk = (int) (fFile.length() / CHUNK_SIZE);
- fHeaderChunk= new Chunk(this, 0);
- fHeaderChunk.fLocked= true; // never makes it into the cache, needed to satisfy assertions
- if (nChunksOnDisk <= 0) {
- fVersion= version;
- fChunks= new Chunk[1];
- }
- else {
- fHeaderChunk.read();
- fVersion= fHeaderChunk.getInt(VERSION_OFFSET);
- fChunks = new Chunk[nChunksOnDisk]; // chunk[0] is unused.
- }
- } catch (IOException e) {
- throw new CoreException(new DBStatus(e));
- }
- }
-
- private void openFile() throws FileNotFoundException {
- fFile = new RandomAccessFile(fLocation, fReadOnly ? "r" : "rw"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- void read(ByteBuffer buf, int i) throws IOException {
- int retries= 0;
- do {
- try {
- fFile.getChannel().read(buf, i);
- return;
- }
- catch (ClosedChannelException e) {
- // bug 219834 file may have be closed by interrupting a thread during an I/O operation.
- reopen(e, ++retries);
- }
- } while (true);
- }
-
- void write(ByteBuffer buf, int i) throws IOException {
- int retries= 0;
- do {
- try {
- fFile.getChannel().write(buf, i);
- return;
- }
- catch (ClosedChannelException e) {
- // bug 219834 file may have be closed by interrupting a thread during an I/O operation.
- reopen(e, ++retries);
- }
- } while(true);
- }
-
- private void reopen(ClosedChannelException e, int attempt) throws ClosedChannelException, FileNotFoundException {
- // only if the current thread was not interrupted we try to reopen the file.
- if (e instanceof ClosedByInterruptException || attempt >= 20) {
- throw e;
- }
- openFile();
- }
-
-
- public void transferTo(FileChannel target) throws IOException {
- assert fLocked;
- final FileChannel from= fFile.getChannel();
- from.transferTo(0, from.size(), target);
- }
-
- public int getVersion() throws CoreException {
- return fVersion;
- }
-
- public void setVersion(int version) throws CoreException {
- assert fExclusiveLock;
- fHeaderChunk.putInt(VERSION_OFFSET, version);
- fVersion= version;
- }
-
- /**
- * Empty the contents of the Database, make it ready to start again
- * @throws CoreException
- */
- public void clear(int version) throws CoreException {
- assert fExclusiveLock;
- removeChunksFromCache();
-
- fVersion= version;
- // clear the first chunk.
- fHeaderChunk.clear(0, CHUNK_SIZE);
- // chunks have been removed from the cache, so we may just reset the array of chunks.
- fChunks = new Chunk[] {null};
- try {
- fHeaderChunk.flush(); // zero out header chunk
- fFile.getChannel().truncate(CHUNK_SIZE); // truncate database
- }
- catch (IOException e) {
- CCorePlugin.log(e);
- }
- malloced = freed = 0;
- }
-
- private void removeChunksFromCache() {
- synchronized (fCache) {
- for (int i=1; i < fChunks.length; i++) {
- Chunk chunk= fChunks[i];
- if (chunk != null) {
- fCache.remove(chunk);
- fChunks[i]= null;
- }
- }
- }
- }
-
-
- /**
- * Return the Chunk that contains the given offset.
- * @throws CoreException
- */
- public Chunk getChunk(int offset) throws CoreException {
- if (offset < CHUNK_SIZE) {
- return fHeaderChunk;
- }
- synchronized(fCache) {
- assert fLocked;
- final int index = offset / CHUNK_SIZE;
- Chunk chunk= fChunks[index];
- if (chunk == null) {
- cacheMisses++;
- chunk = fChunks[index] = new Chunk(this, index);
- chunk.read();
- }
- else {
- cacheHits++;
- }
- fCache.add(chunk, fExclusiveLock);
- return chunk;
- }
- }
-
- /**
- * Allocate a block out of the database.
- *
- * @param size
- * @return
- */
- public int malloc(int size) throws CoreException {
- assert fExclusiveLock;
- if (size > MAX_SIZE)
- // Too Big
- throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, 0,
- CCorePlugin.getResourceString("pdom.requestTooLarge"), new IllegalArgumentException())); //$NON-NLS-1$
-
- // Which block size
- int freeblock = 0;
- int blocksize;
- int matchsize = 0;
- for (blocksize = MIN_SIZE; blocksize <= CHUNK_SIZE; blocksize += MIN_SIZE) {
- if (blocksize - INT_SIZE >= size) {
- if (matchsize == 0) // our real size
- matchsize = blocksize;
- freeblock = getFirstBlock(blocksize);
- if (freeblock != 0)
- break;
- }
- }
-
- // get the block
- Chunk chunk;
- if (freeblock == 0) {
- // allocate a new chunk
- freeblock= createNewChunk();
- blocksize = CHUNK_SIZE;
- chunk = getChunk(freeblock);
- } else {
- chunk = getChunk(freeblock);
- removeBlock(chunk, blocksize, freeblock);
- }
-
- if (blocksize != matchsize) {
- // Add in the unused part of our block
- addBlock(chunk, blocksize - matchsize, freeblock + matchsize);
- }
-
- // Make our size negative to show in use
- chunk.putInt(freeblock, - matchsize);
-
- // Clear out the block, lots of people are expecting this
- chunk.clear(freeblock + 4, size);
-
- malloced += matchsize;
- return freeblock + 4;
- }
-
- private int createNewChunk() throws CoreException {
- assert fExclusiveLock;
- synchronized (fCache) {
- final int oldLen= fChunks.length;
- final Chunk chunk= new Chunk(this, oldLen);
- chunk.fDirty= true;
-
- Chunk[] newchunks = new Chunk[oldLen+1];
- System.arraycopy(fChunks, 0, newchunks, 0, oldLen);
- newchunks[oldLen]= chunk;
- fChunks= newchunks;
- fCache.add(chunk, true);
- return oldLen * CHUNK_SIZE;
- }
- }
-
- private int getFirstBlock(int blocksize) throws CoreException {
- assert fLocked;
- return fHeaderChunk.getInt((blocksize / MIN_SIZE) * INT_SIZE);
- }
-
- private void setFirstBlock(int blocksize, int block) throws CoreException {
- assert fExclusiveLock;
- fHeaderChunk.putInt((blocksize / MIN_SIZE) * INT_SIZE, block);
- }
-
- private void removeBlock(Chunk chunk, int blocksize, int block) throws CoreException {
- assert fExclusiveLock;
- int prevblock = chunk.getInt(block + PREV_OFFSET);
- int nextblock = chunk.getInt(block + NEXT_OFFSET);
- if (prevblock != 0)
- putInt(prevblock + NEXT_OFFSET, nextblock);
- else // we were the head
- setFirstBlock(blocksize, nextblock);
-
- if (nextblock != 0)
- putInt(nextblock + PREV_OFFSET, prevblock);
- }
-
- private void addBlock(Chunk chunk, int blocksize, int block) throws CoreException {
- assert fExclusiveLock;
- // Mark our size
- chunk.putInt(block, blocksize);
-
- // Add us to the head of the list
- int prevfirst = getFirstBlock(blocksize);
- chunk.putInt(block + PREV_OFFSET, 0);
- chunk.putInt(block + NEXT_OFFSET, prevfirst);
- if (prevfirst != 0)
- putInt(prevfirst + PREV_OFFSET, block);
- setFirstBlock(blocksize, block);
- }
-
- /**
- * Free an allocate block.
- *
- * @param offset
- */
- public void free(int offset) throws CoreException {
- assert fExclusiveLock;
- // TODO - look for opportunities to merge blocks
- int block = offset - 4;
- Chunk chunk = getChunk(block);
- int blocksize = - chunk.getInt(block);
- if (blocksize < 0)
- // already freed
- throw new CoreException(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, 0, "Already Freed", new Exception())); //$NON-NLS-1$
- addBlock(chunk, blocksize, block);
- freed += blocksize;
- }
-
- public void putByte(int offset, byte value) throws CoreException {
- getChunk(offset).putByte(offset, value);
- }
-
- public byte getByte(int offset) throws CoreException {
- return getChunk(offset).getByte(offset);
- }
-
- public void putInt(int offset, int value) throws CoreException {
- getChunk(offset).putInt(offset, value);
- }
-
- public int getInt(int offset) throws CoreException {
- return getChunk(offset).getInt(offset);
- }
-
- public void putShort(int offset, short value) throws CoreException {
- getChunk(offset).putShort(offset, value);
- }
-
- public short getShort(int offset) throws CoreException {
- return getChunk(offset).getShort(offset);
- }
-
- public void putLong(int offset, long value) throws CoreException {
- getChunk(offset).putLong(offset, value);
- }
-
- public long getLong(int offset) throws CoreException {
- return getChunk(offset).getLong(offset);
- }
-
- public void putChar(int offset, char value) throws CoreException {
- getChunk(offset).putChar(offset, value);
- }
-
- public char getChar(int offset) throws CoreException {
- return getChunk(offset).getChar(offset);
- }
-
- public IString newString(String string) throws CoreException {
- if (string.length() > ShortString.MAX_LENGTH)
- return new LongString(this, string);
- else
- return new ShortString(this, string);
- }
-
- public IString newString(char[] chars) throws CoreException {
- if (chars.length > ShortString.MAX_LENGTH)
- return new LongString(this, chars);
- else
- return new ShortString(this, chars);
- }
-
- public IString getString(int offset) throws CoreException {
- int length = getInt(offset);
- if (length > ShortString.MAX_LENGTH)
- return new LongString(this, offset);
- else
- return new ShortString(this, offset);
- }
-
- /**
- * For debugging purposes, only.
- */
- public void reportFreeBlocks() throws CoreException {
- System.out.println("Allocated size: " + fChunks.length * CHUNK_SIZE); //$NON-NLS-1$
- System.out.println("malloc'ed: " + malloced); //$NON-NLS-1$
- System.out.println("free'd: " + freed); //$NON-NLS-1$
- System.out.println("wasted: " + (fChunks.length * CHUNK_SIZE - (malloced - freed))); //$NON-NLS-1$
- System.out.println("Free blocks"); //$NON-NLS-1$
- for (int bs = MIN_SIZE; bs <= CHUNK_SIZE; bs += MIN_SIZE) {
- int count = 0;
- int block = getFirstBlock(bs);
- while (block != 0) {
- ++count;
- block = getInt(block + NEXT_OFFSET);
- }
- if (count != 0)
- System.out.println("Block size: " + bs + "=" + count); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * Closes the database.
- * <p>
- * The behavior of any further calls to the Database is undefined
- * @throws IOException
- * @throws CoreException
- */
- public void close() throws CoreException {
- assert fExclusiveLock;
- flush();
- removeChunksFromCache();
-
- // chunks have been removed from the cache, so we are fine
- fHeaderChunk.clear(0, CHUNK_SIZE);
- fHeaderChunk.fDirty= false;
- fChunks= new Chunk[] {null};
- try {
- fFile.close();
- } catch (IOException e) {
- throw new CoreException(new DBStatus(e));
- }
- }
-
- /**
- * This method is public for testing purposes only.
- */
- public File getLocation() {
- return fLocation;
- }
-
- /**
- * Called from any thread via the cache, protected by {@link #fCache}.
- */
- void releaseChunk(final Chunk chunk) {
- if (!chunk.fLocked) {
- fChunks[chunk.fSequenceNumber]= null;
- }
- }
-
- /**
- * Returns the cache used for this database.
- * @since 4.0
- */
- public ChunkCache getChunkCache() {
- return fCache;
- }
-
- /**
- * Asserts that database is used by one thread exclusively. This is necessary when doing
- * write operations.
- */
- public void setExclusiveLock() {
- fExclusiveLock= true;
- fLocked= true;
- }
-
- public void setLocked(boolean val) {
- fLocked= val;
- }
-
- public void giveUpExclusiveLock(final boolean flush) throws CoreException {
- if (fExclusiveLock) {
- try {
- ArrayList dirtyChunks= new ArrayList();
- synchronized (fCache) {
- for (int i= 1; i < fChunks.length; i++) {
- Chunk chunk= fChunks[i];
- if (chunk != null) {
- if (chunk.fCacheIndex < 0) {
- // locked chunk that has been removed from cache.
- if (chunk.fDirty) {
- dirtyChunks.add(chunk); // keep in fChunks until it is flushed.
- }
- else {
- chunk.fLocked= false;
- fChunks[i]= null;
- }
- }
- else if (chunk.fLocked) {
- // locked chunk, still in cache.
- if (chunk.fDirty) {
- if (flush) {
- dirtyChunks.add(chunk);
- }
- }
- else {
- chunk.fLocked= false;
- }
- }
- else {
- assert !chunk.fDirty; // dirty chunks must be locked.
- }
- }
- }
- }
- // also handles header chunk
- flushAndUnlockChunks(dirtyChunks, flush);
- }
- finally {
- fExclusiveLock= false;
- }
- }
- }
-
- public void flush() throws CoreException {
- assert fLocked;
- if (fExclusiveLock) {
- try {
- giveUpExclusiveLock(true);
- }
- finally {
- setExclusiveLock();
- }
- return;
- }
-
- // be careful as other readers may access chunks concurrently
- ArrayList dirtyChunks= new ArrayList();
- synchronized (fCache) {
- for (int i= 1; i < fChunks.length ; i++) {
- Chunk chunk= fChunks[i];
- if (chunk != null && chunk.fDirty) {
- dirtyChunks.add(chunk);
- }
- }
- }
-
- // also handles header chunk
- flushAndUnlockChunks(dirtyChunks, true);
- }
-
- private void flushAndUnlockChunks(final ArrayList dirtyChunks, boolean isComplete) throws CoreException {
- assert !Thread.holdsLock(fCache);
- synchronized(fHeaderChunk) {
- if (!fHeaderChunk.fDirty) {
- if (!(isComplete && fIsMarkedIncomplete)) {
- return;
- }
- }
- if (!dirtyChunks.isEmpty()) {
- markFileIncomplete();
- for (Iterator it = dirtyChunks.iterator(); it.hasNext();) {
- Chunk chunk = (Chunk) it.next();
- if (chunk.fDirty) {
- chunk.flush();
- }
- }
-
- // only after the chunks are flushed we may unlock and release them.
- synchronized (fCache) {
- for (Iterator it = dirtyChunks.iterator(); it.hasNext();) {
- Chunk chunk = (Chunk) it.next();
- chunk.fLocked= false;
- if (chunk.fCacheIndex < 0) {
- fChunks[chunk.fSequenceNumber]= null;
- }
- }
- }
- }
-
- if (isComplete) {
- if (fHeaderChunk.fDirty || fIsMarkedIncomplete) {
- fHeaderChunk.putInt(VERSION_OFFSET, fVersion);
- fHeaderChunk.flush();
- fIsMarkedIncomplete= false;
- }
- }
- }
- }
-
- private void markFileIncomplete() throws CoreException {
- if (!fIsMarkedIncomplete) {
- fIsMarkedIncomplete= true;
- try {
- final ByteBuffer buf= ByteBuffer.wrap(new byte[4]);
- fFile.getChannel().write(buf, 0);
- } catch (IOException e) {
- throw new CoreException(new DBStatus(e));
- }
- }
- }
-
- public void resetCacheCounters() {
- cacheHits= cacheMisses= 0;
- }
-
- public long getCacheHits() {
- return cacheHits;
- }
-
- public long getCacheMisses() {
- return cacheMisses;
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java
deleted file mode 100644
index 46b24dd..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author Doug Schaefer
- *
- */
-public interface IBTreeComparator {
-
- /**
- * Compare two records. Used for insert.
- *
- * @param record1
- * @param record2
- * @return
- * @throws IOException
- */
- public abstract int compare(int record1, int record2) throws CoreException;
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java
deleted file mode 100644
index 1dff590..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * @author Doug Schaefer
- *
- * The visitor visits all records where compare returns 0.
- */
-public interface IBTreeVisitor {
-
- /**
- * Compare the record against an internally held key. The comparison must be
- * compatible with the one used for the btree.
- * Used for visiting.
- *
- * @param record
- * @return -1 if record < key, 0 if record == key, 1 if record > key
- * @throws IOException
- */
- public abstract int compare(int record) throws CoreException;
-
- /**
- * Visit a given record and return whether to continue or not.
-
- * @return <code>true</code> to continue the visit, <code>false</code> to abort it.
- * @throws IOException
- */
- public abstract boolean visit(int record) throws CoreException;
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IString.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IString.java
deleted file mode 100644
index 6e42b9c..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/IString.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Andrew Ferguson (Symbian)
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Interface for strings stored in the database. There is more than one string
- * format. This interface hides that fact.
- *
- * @author Doug Schaefer
- */
-public interface IString {
- /**
- * Get the offset of this IString record in the PDOM
- * @return
- */
- public int getRecord();
-
- // strcmp equivalents
- /**
- * Compare this IString record and the specified IString record
- * @param string
- * @param caseSensitive whether to compare in a case-sensitive way
- * @return <ul><li> -1 if this < string
- * <li> 0 if this == string
- * <li> 1 if this > string
- * </ul>
- * @throws CoreException
- */
- public int compare(IString string, boolean caseSensitive) throws CoreException;
-
- /**
- * Compare this IString record and the specified String object
- * @param string
- * @param caseSensitive whether to compare in a case-sensitive way
- * @return <ul><li> -1 if this < string
- * <li> 0 if this == string
- * <li> 1 if this > string
- * </ul>
- * @throws CoreException
- */
- public int compare(String string, boolean caseSensitive) throws CoreException;
-
- /**
- * Compare this IString record and the specified character array
- * @param chars
- * @param caseSensitive whether to compare in a case-sensitive way
- * @return <ul><li> -1 if this < chars
- * <li> 0 if this == chars
- * <li> 1 if this > chars
- * </ul>
- * @throws CoreException
- */
- public int compare(char[] chars, boolean caseSensitive) throws CoreException;
-
- /**
- * Compare this IString record and the specified IString record in a case sensitive manner
- * such that it is compatible with case insensitive comparison.
- * @param string
- * @return <ul><li> -1 if this < string
- * <li> 0 if this == string
- * <li> 1 if this > string
- * </ul>
- * @throws CoreException
- */
- public int compareCompatibleWithIgnoreCase(IString string) throws CoreException;
-
- /**
- * Compare this IString record and the specified char array in a case sensitive manner
- * such that it is compatible with case insensitive comparison.
- * @param chars
- * @return <ul><li> -1 if this < string
- * <li> 0 if this == string
- * <li> 1 if this > string
- * </ul>
- * @throws CoreException
- */
- public int compareCompatibleWithIgnoreCase(char[] chars) throws CoreException;
-
- /**
- * Compare this IString record and the specified character array
- * @param chars
- * @param caseSensitive whether to compare in a case-sensitive way
- * @return <ul><li> -1 if this < chars
- * <li> 0 if this has a prefix chars
- * <li> 1 if this > chars and does not have the prefix
- * </ul>
- * @throws CoreException
- */
- public int comparePrefix(char[] name, boolean caseSensitive) throws CoreException;
-
- /**
- * Get an equivalent character array to this IString record<p>
- * <b>N.B. This method can be expensive: compare and equals can be used for
- * efficient comparisons</b>
- * @return an equivalent character array to this IString record
- * @throws CoreException
- */
- public char[] getChars() throws CoreException;
-
- /**
- * Get an equivalent String object to this IString record<p>
- * <b>N.B. This method can be expensive: compare and equals can be used for
- * efficient comparisons</b>
- * @return an equivalent String object to this IString record
- * @throws CoreException
- */
- public String getString() throws CoreException;
-
- /**
- * Free the associated record in the PDOM
- * @throws CoreException
- */
- public void delete() throws CoreException;
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ListItem.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ListItem.java
deleted file mode 100644
index 1624102..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ListItem.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * This is a list item. It contains a next and prev pointer
- * as well as a pointer to the item.
- * block.
- *
- * @author Doug Schaefer
- */
-public class ListItem {
-
- protected final Database db;
- protected final int record;
-
- protected static final int NEXT = 0;
- protected static final int PREV = 4;
- protected static final int ITEM = 8;
-
- protected static final int RECORD_SIZE = 12;
-
- public ListItem(Database db, int record) {
- this.db = db;
- this.record = record;
- }
-
- public ListItem(Database db) throws CoreException {
- this.db = db;
- this.record = db.malloc(RECORD_SIZE);
- }
-
- public int getRecord() {
- return record;
- }
-
- public boolean equals(Object obj) {
- if (obj == this)
- return true;
- else if (obj instanceof ListItem)
- return record == ((ListItem)obj).record;
- else
- return false;
- }
-
- public void setItem(int item) throws CoreException {
- db.putInt(record + ITEM, item);
- }
-
- public int getItem() throws CoreException {
- return db.getInt(record + ITEM);
- }
-
- public void setNext(ListItem next) throws CoreException {
- db.putInt(record + NEXT, next.getRecord());
- }
-
- public ListItem getNext() throws CoreException {
- int next = db.getInt(record + NEXT);
- return next != 0 ? new ListItem(db, next) : null;
- }
-
- public void setPrev(ListItem prev) throws CoreException {
- db.putInt(record + PREV, prev.getRecord());
- }
-
- public ListItem getPrev() throws CoreException {
- int prev = db.getInt(record + PREV);
- return prev != 0 ? new ListItem(db, prev) : null;
- }
-
- public void delete() throws CoreException {
- db.free(record);
- }
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/LongString.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/LongString.java
deleted file mode 100644
index f382908..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/LongString.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Andrew Ferguson (Symbian)
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.util.NoSuchElementException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.dom.PDOMNotImplementedError;
-
-
-/**
- * This is for strings that take up more than on chunk.
- * The string will need to be broken up into sections and then
- * reassembled when necessary.
- *
- * @author Doug Schaefer
- */
-public class LongString implements IString {
-
- private final Database db;
- private final int record1;
-
- // Additional fields of first record
- private static final int LENGTH = 0; // must be first to match ShortString
- private static final int NEXT1 = 4;
- private static final int CHARS1 = 8;
-
- private static final int NUM_CHARS1 = (Database.MAX_SIZE - CHARS1) / 2;
-
- // Additional fields of subsequent records
- private static final int NEXTN = 0;
- private static final int CHARSN = 4;
-
- private static final int NUM_CHARSN = (Database.MAX_SIZE - CHARSN) / 2;
-
- public LongString(Database db, int record1) {
- this.db = db;
- this.record1 = record1;
- }
-
- private interface IWriter {
- public void writeChars(int start, int length, int p) throws CoreException;
- }
-
- private int createString(int length, IWriter writer) throws CoreException {
- // write the first record
- int firstRecord = db.malloc(Database.MAX_SIZE);
- int start = 0;
- db.putInt(firstRecord, length);
- writer.writeChars(start, NUM_CHARS1, firstRecord + CHARS1);
-
- // write the subsequent records
- int lastNext = firstRecord + NEXT1;
- start += NUM_CHARS1;
- while (length - start > NUM_CHARSN) {
- int nextRecord = db.malloc(Database.MAX_SIZE);
- db.putInt(lastNext, nextRecord);
- writer.writeChars(start, NUM_CHARSN, nextRecord + CHARSN);
- start += NUM_CHARSN;
- lastNext = nextRecord + NEXTN;
- }
-
- // Write the final record
- length -= start;
- int finalRecord = db.malloc(CHARSN + (length) * 2);
- db.putInt(lastNext, finalRecord);
- writer.writeChars(start, length, finalRecord + CHARSN);
-
- return firstRecord;
- }
-
- public LongString(Database db, final String string) throws CoreException {
- this.db = db;
- this.record1 = createString(string.length(), new IWriter() {
- public void writeChars(int start, int length, int p) throws CoreException {
- for (int i = start; i < start + length; ++i) {
- LongString.this.db.putChar(p, string.charAt(i));
- p += 2;
- }
- }
- });
- }
-
- public LongString(Database db, final char[] chars) throws CoreException {
- this.db = db;
- this.record1 = createString(chars.length, new IWriter() {
- public void writeChars(int start, int length, int p) throws CoreException {
- for (int i = start; i < start + length; ++i) {
- LongString.this.db.putChar(p, chars[i]);
- p += 2;
- }
- }
- });
- }
-
- public int getRecord() {
- return record1;
- }
-
- public void delete() throws CoreException {
- int length = db.getInt(record1 + LENGTH) - NUM_CHARS1;
- int nextRecord = db.getInt(record1 + NEXT1);
- db.free(record1);
-
- // Middle records
- while (length > NUM_CHARSN) {
- length -= NUM_CHARSN;
- int nextnext = db.getInt(nextRecord + NEXTN);
- db.free(nextRecord);
- nextRecord = nextnext;
- }
-
- // Last record
- db.free(nextRecord);
- }
-
- public boolean equals(Object obj) {
- throw new PDOMNotImplementedError();
- }
-
- public int hashCode() {
- return record1;
- }
-
- public int compare(IString string, boolean caseSensitive) throws CoreException {
- if (string instanceof LongString)
- return compare((LongString)string, caseSensitive);
- else if (string instanceof ShortString)
- return compare((ShortString)string, caseSensitive);
- else
- throw new IllegalArgumentException();
- }
-
- public int compare(char[] other, boolean caseSensitive) throws CoreException {
- CharIterator i1 = new CharIterator();
- int i2 = 0;
- int n2 = other.length;
-
- while (i1.hasNext() && i2 < n2) {
- int cmp= ShortString.compareChars(i1.next(), other[i2], caseSensitive);
- if(cmp!=0)
- return cmp;
-
- ++i2;
- }
-
- if (!i1.hasNext() && i2 != n2)
- return -1;
- else if (i2 == n2 && i1.hasNext())
- return 1;
- else
- return 0;
- }
-
- public int compare(ShortString other, boolean caseSensitive) throws CoreException {
- CharIterator i1 = new CharIterator();
- int index2 = 0;
- int length2 = other.getLength();
-
- while (i1.hasNext() && index2<length2) {
- int cmp= ShortString.compareChars(i1.next(), other.charAt(index2), caseSensitive);
- if(cmp!=0)
- return cmp;
- index2++;
- }
-
- if (!i1.hasNext() && index2 != length2)
- return -1;
- else if (index2 == length2 && i1.hasNext())
- return 1;
- else
- return 0;
- }
-
- public int compare(LongString other, boolean caseSensitive) throws CoreException {
- CharIterator i1 = new CharIterator();
- CharIterator i2 = other.new CharIterator();
-
- while (i1.hasNext() && i2.hasNext()) {
- int cmp= ShortString.compareChars(i1.next(), i2.next(), caseSensitive);
- if(cmp!=0)
- return cmp;
- }
-
- if (!i1.hasNext() && i2.hasNext())
- return -1;
- else if (!i2.hasNext() && i1.hasNext())
- return 1;
- else
- return 0;
- }
-
- public int compare(String other, boolean caseSensitive) throws CoreException {
- CharIterator i1 = new CharIterator();
- int i2 = 0;
- int n2 = other.length();
-
- while (i1.hasNext() && i2 < n2) {
- int cmp= ShortString.compareChars(i1.next(), other.charAt(i2), caseSensitive);
- if(cmp!=0)
- return cmp;
-
- ++i2;
- }
-
- if (!i1.hasNext() && i2 != n2)
- return -1;
- else if (i2 == n2 && i1.hasNext())
- return 1;
- else
- return 0;
- }
-
- public int comparePrefix(char[] other, boolean caseSensitive) throws CoreException {
- CharIterator i1 = new CharIterator();
- int i2 = 0;
- int n2 = other.length;
-
- while (i1.hasNext() && i2 < n2) {
- int cmp= ShortString.compareChars(i1.next(), other[i2], caseSensitive);
- if(cmp!=0)
- return cmp;
-
- ++i2;
- }
-
- if (!i1.hasNext() && i2 != n2)
- return -1;
- else
- return 0;
- }
-
- private interface IReader {
- public void appendChar(char c);
- }
-
- private void readChars(int length, IReader reader) throws CoreException {
- // First record
- int p = record1 + CHARS1;
- for (int i = 0; i < NUM_CHARS1; ++i) {
- reader.appendChar(db.getChar(p));
- p += 2;
- }
- length -= NUM_CHARS1;
- int nextRecord = db.getInt(record1 + NEXT1);
-
- // Middle records
- while (length > NUM_CHARSN) {
- p = nextRecord + CHARSN;
- for (int i = 0; i < NUM_CHARSN; ++i) {
- reader.appendChar(db.getChar(p));
- p += 2;
- }
- length -= NUM_CHARSN;
- nextRecord = db.getInt(nextRecord + NEXTN);
- }
-
- // Last record
- p = nextRecord + CHARSN;
- for (int i = 0; i < length; ++i) {
- reader.appendChar(db.getChar(p));
- p += 2;
- }
- }
-
- /**
- * Convenience class for sequential access to LongString characters
- */
- private class CharIterator {
- int p;
- int count;
- int length;
-
- public CharIterator() throws CoreException {
- p = record1 + CHARS1;
- length = db.getInt(record1 + LENGTH);
- }
-
- public char next() throws CoreException {
- char result = db.getChar(p);
- p += 2;
- count++;
- if(count>length) {
- throw new NoSuchElementException();
- }
- if(count == NUM_CHARS1) {
- p = db.getInt(record1 + NEXT1) + CHARSN;
- }
- if(count > NUM_CHARS1 && ((count-NUM_CHARS1) % NUM_CHARSN)==0) {
- p = db.getInt(record1 + NEXTN) + CHARSN;
- }
- return result;
- }
-
- public boolean hasNext() {
- return count<length;
- }
- }
-
- public char[] getChars() throws CoreException {
- int length = db.getInt(record1 + LENGTH);
- final char[] chars = new char[length];
- readChars(length, new IReader() {
- int cp = 0;
- public void appendChar(char c) {
- chars[cp++] = c;
- }
- });
- return chars;
- }
-
- public String getString() throws CoreException {
- int length = db.getInt(record1 + LENGTH);
- final StringBuffer buffer = new StringBuffer(length);
- readChars(length, new IReader() {
- public void appendChar(char c) {
- buffer.append(c);
- }
- });
- return buffer.toString();
- }
-
- public int compareCompatibleWithIgnoreCase(IString string) throws CoreException {
- int cmp= compare(string, false);
- return cmp==0 ? compare(string, true) : cmp;
- }
-
- public int compareCompatibleWithIgnoreCase(char[] chars) throws CoreException {
- int cmp= compare(chars, false);
- return cmp==0 ? compare(chars, true) : cmp;
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Messages.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Messages.java
deleted file mode 100644
index 921bddc..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/Messages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 Symbian Software Limited
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Symbian Software Limited - initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class Messages {
- private static final String BUNDLE_NAME = "org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db.messages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
- .getBundle(BUNDLE_NAME);
-
- private Messages() {
- }
-
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ShortString.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ShortString.java
deleted file mode 100644
index 3480da1..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/ShortString.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- * Andrew Ferguson (Symbian)
- * Markus Schorn (Wind River Systems)
- *******************************************************************************/
-
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.db;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.core.CCorePlugin;
-
-
-/**
- * This is for strings that fit inside a single chunk.
- *
- * @author Doug Schaefer
- */
-public class ShortString implements IString {
-
- private final Database db;
- private final int record;
-
- private static final int LENGTH = 0;
- private static final int CHARS = 4;
-
- public static final int MAX_LENGTH = (Database.MAX_SIZE - CHARS) / 2;
-
- public ShortString(Database db, int offset) {
- this.db = db;
- this.record = offset;
- }
-
- public ShortString(Database db, char[] chars) throws CoreException {
- this.db = db;
- this.record = db.malloc(CHARS + chars.length * 2);
-
- Chunk chunk = db.getChunk(record);
- chunk.putInt(record + LENGTH, (char)chars.length);
- int n = chars.length;
- int p = record + CHARS;
- for (int i = 0; i < n; ++i) {
- chunk.putChar(p, chars[i]);
- p += 2;
- }
- }
-
- public ShortString(Database db, String string) throws CoreException {
- this.db = db;
- this.record = db.malloc(CHARS + string.length() * 2);
-
- Chunk chunk = db.getChunk(record);
- chunk.putInt(record + LENGTH, string.length());
- int n = string.length();
- int p = record + CHARS;
- for (int i = 0; i < n; ++i) {
- chunk.putChar(p, string.charAt(i));
- p += 2;
- }
- }
-
- public int getRecord() {
- return record;
- }
-
- public void delete() throws CoreException {
- db.free(record);
- }
-
- public char[] getChars() throws CoreException {
- Chunk chunk = db.getChunk(record);
- int length = chunk.getInt(record + LENGTH);
- char[] chars = new char[length];
- chunk.getCharArray(record+CHARS, chars);
- return chars;
- }
-
- public String getString() throws CoreException {
- return new String(getChars());
- }
-
- public boolean equals(Object obj) {
- if (obj == this)
- return true;
-
- try {
- if (obj instanceof ShortString) {
- ShortString string = (ShortString)obj;
- if (db == string.db && record == string.record)
- return true;
-
- Chunk chunk1 = db.getChunk(record);
- Chunk chunk2 = string.db.getChunk(string.record);
-
- int n1 = chunk1.getInt(record);
- int n2 = chunk2.getInt(string.record);
- if (n1 != n2)
- return false;
-
- int p1 = record + CHARS;
- int p2 = string.record + CHARS;
- for (int i = 0; i < n1; ++i) {
- if (chunk1.getChar(p1) != chunk2.getChar(p2))
- return false;
- p1 += 2;
- p2 += 2;
- }
- return true;
- } else if (obj instanceof char[]) {
- char[] chars = (char[])obj;
- Chunk chunk = db.getChunk(record);
-
- // Make sure size is the same
- int n = chunk.getInt(record);
- if (n != chars.length)
- return false;
-
- // Check each character
- int p = record + CHARS;
- for (int i = 0; i < n; ++i) {
- if (chunk.getChar(p) != chars[i])
- return false;
- p += 2;
- }
- return true;
- } else if (obj instanceof String) {
- String string = (String)obj;
- Chunk chunk = db.getChunk(record);
-
- // Make sure size is the same
- int n = chunk.getInt(record);
- if (n != string.length())
- return false;
-
- // Check each character
- int p = record + CHARS;
- for (int i = 0; i < n; ++i) {
- if (chunk.getChar(p) != string.charAt(i))
- return false;
- p += 2;
- }
- return true;
- }
- } catch (CoreException e) {
- CCorePlugin.log(e);
- }
- return false;
- }
-
- public int hashCode() {
- // Custom hash code function to allow DBStrings in hashmaps.
- return record;
- }
-
- public int compare(char[] other, boolean caseSensitive) throws CoreException {
- Chunk chunk = db.getChunk(record);
-
- int i1 = record + CHARS;
- int i2 = 0;
- int n1 = i1 + chunk.getInt(record + LENGTH) * 2;
- int n2 = other.length;
-
- while (i1 < n1 && i2 < n2) {
- int cmp= compareChars(chunk.getChar(i1), other[i2], caseSensitive);
- if(cmp!=0)
- return cmp;
-
- i1 += 2;
- ++i2;
- }
-
- if (i1 == n1 && i2 != n2)
- return -1;
- else if (i2 == n2 && i1 != n1)
- return 1;
- else
- return 0;
- }
-
- public int compare(IString string, boolean caseSensitive) throws CoreException {
- if (string instanceof ShortString)
- return compare((ShortString)string, caseSensitive);
- else if (string instanceof LongString)
- return - ((LongString)string).compare(this, caseSensitive);
- else
- throw new IllegalArgumentException();
- }
-
- public int compare(ShortString other, boolean caseSensitive) throws CoreException {
- Chunk chunk1 = db.getChunk(record);
- Chunk chunk2 = other.db.getChunk(other.record);
-
- int i1 = record + CHARS;
- int i2 = other.record + CHARS;
- int n1 = i1 + chunk1.getInt(record + LENGTH) * 2;
- int n2 = i2 + chunk2.getInt(other.record + LENGTH) * 2;
-
- while (i1 < n1 && i2 < n2) {
- int cmp= compareChars(chunk1.getChar(i1), chunk2.getChar(i2), caseSensitive);
- if(cmp!=0)
- return cmp;
-
- i1 += 2;
- i2 += 2;
- }
-
- if (i1 == n1 && i2 != n2)
- return -1;
- else if (i2 == n2 && i1 != n1)
- return 1;
- else
- return 0;
- }
-
- public int compare(String other, boolean caseSensitive) throws CoreException {
- Chunk chunk = db.getChunk(record);
-
- int i1 = record + CHARS;
- int i2 = 0;
- int n1 = i1 + chunk.getInt(record + LENGTH) * 2;
- int n2 = other.length();
-
- while (i1 < n1 && i2 < n2) {
- int cmp= compareChars(chunk.getChar(i1), other.charAt(i2), caseSensitive);
- if(cmp!=0)
- return cmp;
-
- i1 += 2;
- ++i2;
- }
-
- if (i1 == n1 && i2 != n2)
- return -1;
- else if (i2 == n2 && i1 != n1)
- return 1;
- else
- return 0;
- }
-
-
- public int compareCompatibleWithIgnoreCase(IString string) throws CoreException {
- if (string instanceof ShortString)
- return compareCompatibleWithIgnoreCase((ShortString)string);
- else if (string instanceof LongString)
- return - ((LongString)string).compareCompatibleWithIgnoreCase(this);
- else
- throw new IllegalArgumentException();
- }
-
-
- public int compareCompatibleWithIgnoreCase(ShortString other) throws CoreException {
- Chunk chunk1 = db.getChunk(record);
- Chunk chunk2 = other.db.getChunk(other.record);
-
- int i1 = record + CHARS;
- int i2 = other.record + CHARS;
- int n1 = i1 + chunk1.getInt(record + LENGTH) * 2;
- int n2 = i2 + chunk2.getInt(other.record + LENGTH) * 2;
- int sensitiveCmp= 0;
- while (i1 < n1 && i2 < n2) {
- final char c1= chunk1.getChar(i1);
- final char c2= chunk2.getChar(i2);
- if (c1 != c2) {
- int cmp= compareChars(c1, c2, false); // insensitive
- if(cmp!=0)
- return cmp;
-
- if (sensitiveCmp == 0) {
- if (c1 < c2) {
- sensitiveCmp= -1;
- }
- else {
- sensitiveCmp= 1;
- }
- }
- }
-
- i1 += 2;
- i2 += 2;
- }
-
- if (i1 == n1 && i2 != n2)
- return -1;
- else if (i2 == n2 && i1 != n1)
- return 1;
-
- return sensitiveCmp;
- }
-
- public int compareCompatibleWithIgnoreCase(char[] chars) throws CoreException {
- Chunk chunk1 = db.getChunk(record);
-
- int i1 = record + CHARS;
- int i2 = 0;
- int n1 = i1 + chunk1.getInt(record + LENGTH) * 2;
- int n2 = chars.length;
- int sensitiveCmp= 0;
- while (i1 < n1 && i2 < n2) {
- final char c1= chunk1.getChar(i1);
- final char c2= chars[i2];
- if (c1 != c2) {
- int cmp= compareChars(c1, c2, false); // insensitive
- if(cmp!=0)
- return cmp;
-
- if (sensitiveCmp == 0) {
- if (c1 < c2) {
- sensitiveCmp= -1;
- }
- else {
- sensitiveCmp= 1;
- }
- }
- }
-
- i1 += 2;
- i2++;
- }
-
- if (i1 == n1 && i2 != n2)
- return -1;
- else if (i2 == n2 && i1 != n1)
- return 1;
-
- return sensitiveCmp;
- }
-
- public int comparePrefix(char[] other, boolean caseSensitive) throws CoreException {
- Chunk chunk = db.getChunk(record);
-
- int i1 = record + CHARS;
- int i2 = 0;
- int n1 = i1 + chunk.getInt(record + LENGTH) * 2;
- int n2 = other.length;
-
- while (i1 < n1 && i2 < n2) {
- int cmp= compareChars(chunk.getChar(i1), other[i2], caseSensitive);
- if(cmp!=0)
- return cmp;
-
- i1 += 2;
- ++i2;
- }
-
- if (i1 == n1 && i2 != n2)
- return -1;
- else
- return 0;
- }
-
- public char charAt(int i) throws CoreException {
- int ptr = record + CHARS + (i*2);
- return db.getChar(ptr);
- }
-
- public int getLength() throws CoreException {
- return db.getInt(record + LENGTH);
- }
-
- /**
- * Compare characters case-sensitively, or case-insensitively.
- *
- * <b>Limitation</b> This only maps the range a-z,A-Z onto each other
- * @param a a character
- * @param b a character
- * @param caseSensitive whether to compare case-sensitively
- * @return
- * <ul>
- * <li>-1 if a < b
- * <li>0 if a == b
- * <li>1 if a > b
- * </ul>
- */
- public static int compareChars(char a, char b, boolean caseSensitive) {
- if(caseSensitive) {
- if (a < b)
- return -1;
- if (a > b)
- return 1;
- } else {
- if (a != b) {
- a= a >= 'a' && a <='z' ? (char) (a - 32) : a;
- b= b >= 'a' && b <='z' ? (char) (b - 32) : b;
- if (a < b)
- return -1;
- if (a > b)
- return 1;
- }
- }
- return 0;
- }
-
-/* TODO - this is more correct than the above implementation, but we need to
- * benchmark first.
- *
- * public static int compareChars(char a, char b, boolean caseSensitive) {
- if(caseSensitive) {
- if (a < b)
- return -1;
- if (a > b)
- return 1;
- } else {
- if (a != b) {
- a = Character.toUpperCase(a);
- b = Character.toUpperCase(b);
- if (a != b) {
- a = Character.toLowerCase(a);
- b = Character.toLowerCase(b);
- if (a != b) {
- if (a < b)
- return -1;
- if (a > b)
- return 1;
- }
- }
- }
- }
- return 0;
- }
-*/
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/messages.properties b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/messages.properties
deleted file mode 100644
index b342cac..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/db/messages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 Symbian Software Limited
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# Symbian Software Limited - initial API and implementation
-###############################################################################
-BTree.IllegalDegree=BTree degree must be >=2
-BTree.DeletionOnAbsentKey=Deletion of key not in btree: {0} mode={1}
-BTree.UnknownMode=BTree unknown deletion mode error
-BTree.IntegrityError=BTree integrity error
-BTree.IntegrityErrorA=[{0} blanks inconsistent b={1} nb={2}]
-BTree.IntegrityErrorB=[{0} wrong number of children with respect to key count]
-BTree.IntegrityErrorC=[{0} key count out of range]
-BTree.IntegrityErrorD=Leaf nodes at differing depths
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/dom/PDOMNotImplementedError.java b/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/dom/PDOMNotImplementedError.java
deleted file mode 100644
index ea78658..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-4.0.3/org/eclipse/rephraserengine/internal/db/org/eclipse/cdt/internal/core/pdom/dom/PDOMNotImplementedError.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * QNX - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.db.org.eclipse.cdt.internal.core.pdom.dom;
-
-/**
- * @author Doug Schaefer
- *
- */
-public class PDOMNotImplementedError extends Error {
-
- public static final long serialVersionUID = 0;
-
- public PDOMNotImplementedError() {
- super();
- }
-
- public PDOMNotImplementedError(String message) {
- super(message);
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/IRuntimeConstants.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/IRuntimeConstants.java
deleted file mode 100644
index b5164ee..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/IRuntimeConstants.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-public interface IRuntimeConstants {
-
- /**
- * The unique identifier constant (value "<code>org.eclipse.core.runtime</code>")
- * of the Core Runtime (pseudo-) plug-in.
- */
- public static final String PI_RUNTIME = "org.eclipse.core.runtime"; //$NON-NLS-1$
-
- /**
- * Name of this bundle.
- */
- public static final String PI_COMMON = "org.eclipse.equinox.common"; //$NON-NLS-1$
-
- /**
- * Status code constant (value 2) indicating an error occurred while running a plug-in.
- */
- public static final int PLUGIN_ERROR = 2;
-
- /**
- * Status code constant (value 5) indicating the platform could not write
- * some of its metadata.
- */
- public static final int FAILED_WRITE_METADATA = 5;
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/LocalizationUtils.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/LocalizationUtils.java
deleted file mode 100644
index 26be432..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/LocalizationUtils.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.lang.reflect.Field;
-
-/**
- * Helper methods related to string localization.
- *
- * @since org.eclipse.equinox.common 3.3
- */
-public class LocalizationUtils {
- /**
- * This method can be used in the absence of NLS class. The method tries to
- * use the NLS-based translation routine. If it falls, the method returns the original
- * non-translated key.
- *
- * @param key case-sensetive name of the filed in the translation file representing
- * the string to be translated
- * @return
- */
- static public String safeLocalize(String key) {
- try {
- Class messageClass = Class.forName("org.eclipse.core.internal.runtime.CommonMessages"); //$NON-NLS-1$
- if (messageClass == null)
- return key;
- Field field = messageClass.getDeclaredField(key);
- if (field == null)
- return key;
- Object value = field.get(null);
- if (value instanceof String)
- return (String) value;
- } catch (ClassNotFoundException e) {
- // eat exception and fall through
- } catch (NoClassDefFoundError e) {
- // eat exception and fall through
- } catch (SecurityException e) {
- // eat exception and fall through
- } catch (NoSuchFieldException e) {
- // eat exception and fall through
- } catch (IllegalArgumentException e) {
- // eat exception and fall through
- } catch (IllegalAccessException e) {
- // eat exception and fall through
- }
- return key;
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/commonMessages.properties b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/commonMessages.properties
deleted file mode 100644
index 5faef93..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/internal/runtime/commonMessages.properties
+++ /dev/null
@@ -1,46 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2006 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-### Common runtime plugin messages
-
-ok = OK
-
-### metadata
-meta_couldNotCreate = Error trying to create the platform metadata area: {0}.
-meta_instanceDataUnspecified = The instance data location has not been specified yet.
-meta_noDataModeSpecified = No instance data can be specified.
-meta_notDir = Specified platform location \"{0}\" is not a directory.
-meta_readonly = The platform metadata area could not be written: {0}. By default the platform writes its content\nunder the current working directory when the platform is launched. Use the -data parameter to\nspecify a different content area for the platform.
-meta_pluginProblems = Problems occurred when invoking code from plug-in: \"{0}\".
-
-### parsing/resolve
-parse_doubleSeparatorVersion=Plug-in version identifier, \"{0}\", must not contain two consecutive separator characters.
-parse_emptyPluginVersion=A plug-in version identifier must be non-empty.
-parse_fourElementPluginVersion=Plug-in version identifier, \"{0}\", can contain a maximum of four components.
-parse_numericMajorComponent=The major (1st) component of plug-in version identifier, \"{0}\", must be numeric.
-parse_numericMinorComponent=The minor (2nd) component of plug-in version identifier, \"{0}\", must be numeric.
-parse_numericServiceComponent=The service (3rd) component of plug-in version identifier, \"{0}\", must be numeric.
-parse_oneElementPluginVersion=Plug-in version identifier, \"{0}\", must contain at least one component.
-parse_postiveMajor=Plug-in version identifier, \"{0}\", must have a positive major (1st) component.
-parse_postiveMinor=Plug-in version identifier, \"{0}\", must have a positive minor (2nd) component.
-parse_postiveService=Plug-in version identifier, \"{0}\", must have a positive service (3rd) component.
-parse_separatorEndVersion=Plug-in version identifier, \"{0}\", must not end with a separator character.
-parse_separatorStartVersion=Plug-in version identifier, \"{0}\", must not start with a separator character.
-
-### URL
-url_badVariant = Unsupported \"platform:\" protocol variation \"{0}\".
-url_createConnection = Unable to create connection on \"{0}\".
-url_invalidURL = Invalid URL \"{0}\".
-url_noOutput = Output is not supported for \"{0}\", location is read-only.
-url_noaccess = Unhandled URL protocol \"{0}\".
-url_resolveFragment = Unable to resolve fragment \"{0}\".
-url_resolvePlugin = Unable to resolve plug-in \"{0}\".
-
-activator_not_available = The bundle activator for the org.eclipse.equinox.common bundle is not available.
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Assert.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Assert.java
deleted file mode 100644
index a1674e4..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Assert.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks
- * in code. The predicate methods all test a condition and throw some
- * type of unchecked exception if the condition does not hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are
- * thrown when something is misbehaving. Assertion failures are invariably
- * unspecified behavior; consequently, clients should never rely on
- * these being thrown (and certainly should not being catching them
- * specifically).
- * </p><p>
- * This class can be used without OSGi running.
- * </p><p>
- * This class is not intended to be instantiated or sub-classed by clients.
- * </p>
- * @since org.eclipse.equinox.common 3.2
- */
-public final class Assert {
- /* This class is not intended to be instantiated. */
- private Assert() {
- // not allowed
- }
-
- /** Asserts that an argument is legal. If the given boolean is
- * not <code>true</code>, an <code>IllegalArgumentException</code>
- * is thrown.
- *
- * @param expression the outcode of the check
- * @return <code>true</code> if the check passes (does not return
- * if the check fails)
- * @exception IllegalArgumentException if the legality test failed
- */
- public static boolean isLegal(boolean expression) {
- return isLegal(expression, ""); //$NON-NLS-1$
- }
-
- /** Asserts that an argument is legal. If the given boolean is
- * not <code>true</code>, an <code>IllegalArgumentException</code>
- * is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param expression the outcode of the check
- * @param message the message to include in the exception
- * @return <code>true</code> if the check passes (does not return
- * if the check fails)
- * @exception IllegalArgumentException if the legality test failed
- */
- public static boolean isLegal(boolean expression, String message) {
- if (!expression)
- throw new IllegalArgumentException(message);
- return expression;
- }
-
- /** Asserts that the given object is not <code>null</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- *
- * @param object the value to test
- */
- public static void isNotNull(Object object) {
- isNotNull(object, ""); //$NON-NLS-1$
- }
-
- /** Asserts that the given object is not <code>null</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param object the value to test
- * @param message the message to include in the exception
- */
- public static void isNotNull(Object object, String message) {
- if (object == null)
- throw new AssertionFailedException("null argument:" + message); //$NON-NLS-1$
- }
-
- /** Asserts that the given boolean is <code>true</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- *
- * @param expression the outcode of the check
- * @return <code>true</code> if the check passes (does not return
- * if the check fails)
- */
- public static boolean isTrue(boolean expression) {
- return isTrue(expression, ""); //$NON-NLS-1$
- }
-
- /** Asserts that the given boolean is <code>true</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param expression the outcode of the check
- * @param message the message to include in the exception
- * @return <code>true</code> if the check passes (does not return
- * if the check fails)
- */
- public static boolean isTrue(boolean expression, String message) {
- if (!expression)
- throw new AssertionFailedException("assertion failed: " + message); //$NON-NLS-1$
- return expression;
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/AssertionFailedException.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/AssertionFailedException.java
deleted file mode 100644
index f3e371d..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/AssertionFailedException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * <code>AssertionFailedException</code> is a runtime exception thrown
- * by some of the methods in <code>Assert</code>.
- * <p>
- * This class can be used without OSGi running.
- * </p><p>
- * This class is not intended to be instantiated or sub-classed by clients.
- * </p>
- * @see Assert
- * @since org.eclipse.equinox.common 3.2
- */
-public class AssertionFailedException extends RuntimeException {
-
- /**
- * All serializable objects should have a stable serialVersionUID
- */
- private static final long serialVersionUID = 1L;
-
- /**
- * Constructs a new exception with the given message.
- *
- * @param detail the message
- */
- public AssertionFailedException(String detail) {
- super(detail);
- }
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/CoreException.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/CoreException.java
deleted file mode 100644
index a2a94cb..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/CoreException.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.PrintStream;
-import java.io.PrintWriter;
-
-/**
- * A checked exception representing a failure.
- * <p>
- * Core exceptions contain a status object describing the
- * cause of the exception.
- * </p><p>
- * This class can be used without OSGi running.
- * </p>
- * @see IStatus
- */
-public class CoreException extends Exception {
-
- /**
- * All serializable objects should have a stable serialVersionUID
- */
- private static final long serialVersionUID = 1L;
-
- /** Status object. */
- private IStatus status;
-
- /**
- * Creates a new exception with the given status object. The message
- * of the given status is used as the exception message.
- *
- * @param status the status object to be associated with this exception
- */
- public CoreException(IStatus status) {
- super(status.getMessage());
- this.status = status;
- }
-
- /**
- * Returns the status object for this exception.
- *
- * @return a status object
- */
- public final IStatus getStatus() {
- return status;
- }
-
- /**
- * Prints a stack trace out for the exception, and
- * any nested exception that it may have embedded in
- * its Status object.
- */
- public void printStackTrace() {
- printStackTrace(System.err);
- }
-
- /**
- * Prints a stack trace out for the exception, and
- * any nested exception that it may have embedded in
- * its Status object.
- *
- * @param output the stream to write to
- */
- public void printStackTrace(PrintStream output) {
- synchronized (output) {
- super.printStackTrace(output);
- if (status.getException() != null) {
- output.print(getClass().getName() + "[" + status.getCode() + "]: "); //$NON-NLS-1$ //$NON-NLS-2$
- status.getException().printStackTrace(output);
- }
- }
- }
-
- /**
- * Prints a stack trace out for the exception, and
- * any nested exception that it may have embedded in
- * its Status object.
- *
- * @param output the stream to write to
- */
- public void printStackTrace(PrintWriter output) {
- synchronized (output) {
- super.printStackTrace(output);
- if (status.getException() != null) {
- output.print(getClass().getName() + "[" + status.getCode() + "]: "); //$NON-NLS-1$ //$NON-NLS-2$
- status.getException().printStackTrace(output);
- }
- }
- }
-
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/IStatus.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/IStatus.java
deleted file mode 100644
index 9ddac2b..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/IStatus.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A status object represents the outcome of an operation.
- * All <code>CoreException</code>s carry a status object to indicate
- * what went wrong. Status objects are also returned by methods needing
- * to provide details of failures (e.g., validation methods).
- * <p>
- * A status carries the following information:
- * <ul>
- * <li> plug-in identifier (required)</li>
- * <li> severity (required)</li>
- * <li> status code (required)</li>
- * <li> message (required) - localized to current locale</li>
- * <li> exception (optional) - for problems stemming from a failure at
- * a lower level</li>
- * </ul>
- * Some status objects, known as multi-statuses, have other status objects
- * as children.
- * </p>
- * <p>
- * The class <code>Status</code> is the standard public implementation
- * of status objects; the subclass <code>MultiStatus</code> is the
- * implements multi-status objects.
- * </p><p>
- * This interface can be used without OSGi running.
- * </p>
- * @see MultiStatus
- * @see Status
- */
-public interface IStatus {
-
- /** Status severity constant (value 0) indicating this status represents the nominal case.
- * This constant is also used as the status code representing the nominal case.
- * @see #getSeverity()
- * @see #isOK()
- */
- public static final int OK = 0;
-
- /** Status type severity (bit mask, value 1) indicating this status is informational only.
- * @see #getSeverity()
- * @see #matches(int)
- */
- public static final int INFO = 0x01;
-
- /** Status type severity (bit mask, value 2) indicating this status represents a warning.
- * @see #getSeverity()
- * @see #matches(int)
- */
- public static final int WARNING = 0x02;
-
- /** Status type severity (bit mask, value 4) indicating this status represents an error.
- * @see #getSeverity()
- * @see #matches(int)
- */
- public static final int ERROR = 0x04;
-
- /** Status type severity (bit mask, value 8) indicating this status represents a
- * cancelation
- * @see #getSeverity()
- * @see #matches(int)
- * @since 3.0
- */
- public static final int CANCEL = 0x08;
-
- /**
- * Returns a list of status object immediately contained in this
- * multi-status, or an empty list if this is not a multi-status.
- *
- * @return an array of status objects
- * @see #isMultiStatus()
- */
- public IStatus[] getChildren();
-
- /**
- * Returns the plug-in-specific status code describing the outcome.
- *
- * @return plug-in-specific status code
- */
- public int getCode();
-
- /**
- * Returns the relevant low-level exception, or <code>null</code> if none.
- * For example, when an operation fails because of a network communications
- * failure, this might return the <code>java.io.IOException</code>
- * describing the exact nature of that failure.
- *
- * @return the relevant low-level exception, or <code>null</code> if none
- */
- public Throwable getException();
-
- /**
- * Returns the message describing the outcome.
- * The message is localized to the current locale.
- *
- * @return a localized message
- */
- public String getMessage();
-
- /**
- * Returns the unique identifier of the plug-in associated with this status
- * (this is the plug-in that defines the meaning of the status code).
- *
- * @return the unique identifier of the relevant plug-in
- */
- public String getPlugin();
-
- /**
- * Returns the severity. The severities are as follows (in
- * descending order):
- * <ul>
- * <li><code>CANCEL</code> - cancelation occurred</li>
- * <li><code>ERROR</code> - a serious error (most severe)</li>
- * <li><code>WARNING</code> - a warning (less severe)</li>
- * <li><code>INFO</code> - an informational ("fyi") message (least severe)</li>
- * <li><code>OK</code> - everything is just fine</li>
- * </ul>
- * <p>
- * The severity of a multi-status is defined to be the maximum
- * severity of any of its children, or <code>OK</code> if it has
- * no children.
- * </p>
- *
- * @return the severity: one of <code>OK</code>, <code>ERROR</code>,
- * <code>INFO</code>, <code>WARNING</code>, or <code>CANCEL</code>
- * @see #matches(int)
- */
- public int getSeverity();
-
- /**
- * Returns whether this status is a multi-status.
- * A multi-status describes the outcome of an operation
- * involving multiple operands.
- * <p>
- * The severity of a multi-status is derived from the severities
- * of its children; a multi-status with no children is
- * <code>OK</code> by definition.
- * A multi-status carries a plug-in identifier, a status code,
- * a message, and an optional exception. Clients may treat
- * multi-status objects in a multi-status unaware way.
- * </p>
- *
- * @return <code>true</code> for a multi-status,
- * <code>false</code> otherwise
- * @see #getChildren()
- */
- public boolean isMultiStatus();
-
- /**
- * Returns whether this status indicates everything is okay
- * (neither info, warning, nor error).
- *
- * @return <code>true</code> if this status has severity
- * <code>OK</code>, and <code>false</code> otherwise
- */
- public boolean isOK();
-
- /**
- * Returns whether the severity of this status matches the given
- * severity mask. Note that a status with severity <code>OK</code>
- * will never match; use <code>isOK</code> instead to detect
- * a status with a severity of <code>OK</code>.
- *
- * @param severityMask a mask formed by bitwise or'ing severity mask
- * constants (<code>ERROR</code>, <code>WARNING</code>,
- * <code>INFO</code>, <code>CANCEL</code>)
- * @return <code>true</code> if there is at least one match,
- * <code>false</code> if there are no matches
- * @see #getSeverity()
- * @see #CANCEL
- * @see #ERROR
- * @see #WARNING
- * @see #INFO
- */
- public boolean matches(int severityMask);
-}
diff --git a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Status.java b/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Status.java
deleted file mode 100644
index 091ff0b..0000000
--- a/org.eclipse.rephraserengine-support/src-cdtdb-mock-objects/org/eclipse/core/runtime/Status.java
+++ /dev/null
@@ -1,279 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.IRuntimeConstants;
-import org.eclipse.core.internal.runtime.LocalizationUtils;
-
-/**
- * A concrete status implementation, suitable either for
- * instantiating or subclassing.
- * <p>
- * This class can be used without OSGi running.
- * </p>
- */
-public class Status implements IStatus {
-
- /**
- * A standard OK status with an "ok" message.
- *
- * @since 3.0
- */
- public static final IStatus OK_STATUS = new Status(OK, IRuntimeConstants.PI_RUNTIME, OK, LocalizationUtils.safeLocalize("ok"), null); //$NON-NLS-1$
- /**
- * A standard CANCEL status with no message.
- *
- * @since 3.0
- */
- public static final IStatus CANCEL_STATUS = new Status(CANCEL, IRuntimeConstants.PI_RUNTIME, 1, "", null); //$NON-NLS-1$
- /**
- * The severity. One of
- * <ul>
- * <li><code>CANCEL</code></li>
- * <li><code>ERROR</code></li>
- * <li><code>WARNING</code></li>
- * <li><code>INFO</code></li>
- * <li>or <code>OK</code> (0)</li>
- * </ul>
- */
- private int severity = OK;
-
- /** Unique identifier of plug-in.
- */
- private String pluginId;
-
- /** Plug-in-specific status code.
- */
- private int code;
-
- /** Message, localized to the current locale.
- */
- private String message;
-
- /** Wrapped exception, or <code>null</code> if none.
- */
- private Throwable exception = null;
-
- /** Constant to avoid generating garbage.
- */
- private static final IStatus[] theEmptyStatusArray = new IStatus[0];
-
- /**
- * Creates a new status object. The created status has no children.
- *
- * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>,
- * <code>INFO</code>, <code>WARNING</code>, or <code>CANCEL</code>
- * @param pluginId the unique identifier of the relevant plug-in
- * @param code the plug-in-specific status code, or <code>OK</code>
- * @param message a human-readable message, localized to the
- * current locale
- * @param exception a low-level exception, or <code>null</code> if not
- * applicable
- */
- public Status(int severity, String pluginId, int code, String message, Throwable exception) {
- setSeverity(severity);
- setPlugin(pluginId);
- setCode(code);
- setMessage(message);
- setException(exception);
- }
-
- /**
- * Simplified constructor of a new status object; assumes that code is <code>OK</code>.
- * The created status has no children.
- *
- * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>,
- * <code>INFO</code>, <code>WARNING</code>, or <code>CANCEL</code>
- * @param pluginId the unique identifier of the relevant plug-in
- * @param message a human-readable message, localized to the
- * current locale
- * @param exception a low-level exception, or <code>null</code> if not
- * applicable
- *
- * @since org.eclipse.equinox.common 3.3
- */
- public Status(int severity, String pluginId, String message, Throwable exception) {
- setSeverity(severity);
- setPlugin(pluginId);
- setMessage(message);
- setException(exception);
- setCode(OK);
- }
-
- /**
- * Simplified constructor of a new status object; assumes that code is <code>OK</code> and
- * exception is <code>null</code>. The created status has no children.
- *
- * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>,
- * <code>INFO</code>, <code>WARNING</code>, or <code>CANCEL</code>
- * @param pluginId the unique identifier of the relevant plug-in
- * @param message a human-readable message, localized to the
- * current locale
- *
- * @since org.eclipse.equinox.common 3.3
- */
- public Status(int severity, String pluginId, String message) {
- setSeverity(severity);
- setPlugin(pluginId);
- setMessage(message);
- setCode(OK);
- setException(null);
- }
-
- /* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
- public IStatus[] getChildren() {
- return theEmptyStatusArray;
- }
-
- /* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
- public int getCode() {
- return code;
- }
-
- /* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
- public Throwable getException() {
- return exception;
- }
-
- /* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
- public String getMessage() {
- return message;
- }
-
- /* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
- public String getPlugin() {
- return pluginId;
- }
-
- /* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
- public int getSeverity() {
- return severity;
- }
-
- /* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
- public boolean isMultiStatus() {
- return false;
- }
-
- /* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
- public boolean isOK() {
- return severity == OK;
- }
-
- /* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
- public boolean matches(int severityMask) {
- return (severity & severityMask) != 0;
- }
-
- /**
- * Sets the status code.
- *
- * @param code the plug-in-specific status code, or <code>OK</code>
- */
- protected void setCode(int code) {
- this.code = code;
- }
-
- /**
- * Sets the exception.
- *
- * @param exception a low-level exception, or <code>null</code> if not
- * applicable
- */
- protected void setException(Throwable exception) {
- this.exception = exception;
- }
-
- /**
- * Sets the message. If null is passed, message is set to an empty
- * string.
- *
- * @param message a human-readable message, localized to the
- * current locale
- */
- protected void setMessage(String message) {
- if (message == null)
- this.message = ""; //$NON-NLS-1$
- else
- this.message = message;
- }
-
- /**
- * Sets the plug-in id.
- *
- * @param pluginId the unique identifier of the relevant plug-in
- */
- protected void setPlugin(String pluginId) {
- Assert.isLegal(pluginId != null && pluginId.length() > 0);
- this.pluginId = pluginId;
- }
-
- /**
- * Sets the severity.
- *
- * @param severity the severity; one of <code>OK</code>, <code>ERROR</code>,
- * <code>INFO</code>, <code>WARNING</code>, or <code>CANCEL</code>
- */
- protected void setSeverity(int severity) {
- Assert.isLegal(severity == OK || severity == ERROR || severity == WARNING || severity == INFO || severity == CANCEL);
- this.severity = severity;
- }
-
- /**
- * Returns a string representation of the status, suitable
- * for debugging purposes only.
- */
- public String toString() {
- StringBuffer buf = new StringBuffer();
- buf.append("Status "); //$NON-NLS-1$
- if (severity == OK) {
- buf.append("OK"); //$NON-NLS-1$
- } else if (severity == ERROR) {
- buf.append("ERROR"); //$NON-NLS-1$
- } else if (severity == WARNING) {
- buf.append("WARNING"); //$NON-NLS-1$
- } else if (severity == INFO) {
- buf.append("INFO"); //$NON-NLS-1$
- } else if (severity == CANCEL) {
- buf.append("CANCEL"); //$NON-NLS-1$
- } else {
- buf.append("severity="); //$NON-NLS-1$
- buf.append(severity);
- }
- buf.append(": "); //$NON-NLS-1$
- buf.append(pluginId);
- buf.append(" code="); //$NON-NLS-1$
- buf.append(code);
- buf.append(' ');
- buf.append(message);
- buf.append(' ');
- buf.append(exception);
- return buf.toString();
- }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/.classpath b/org.eclipse.rephraserengine.core.vpg.tests/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/.project b/org.eclipse.rephraserengine.core.vpg.tests/.project
deleted file mode 100644
index 493e042..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.rephraserengine.core.vpg.tests</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 03a8004..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,270 +0,0 @@
-#Fri Oct 09 00:52:13 CDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 03cc119..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Fri Oct 09 01:04:06 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.core.vpg.tests/META-INF/MANIFEST.MF
deleted file mode 100644
index 6df687a..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Rephraser Engine Unit Tests
-Bundle-SymbolicName: org.eclipse.rephraserengine.core.vpg.tests
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: Eclipse.org - Photran
-Require-Bundle: org.junit,
- org.eclipse.rephraserengine.core.vpg,
- org.eclipse.core.runtime,
- org.eclipse.core.resources
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/about.html b/org.eclipse.rephraserengine.core.vpg.tests/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/build.properties b/org.eclipse.rephraserengine.core.vpg.tests/build.properties
deleted file mode 100644
index 17d1b15..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- about.html
-src.includes = .classpath,\
- .project,\
- .settings/,\
- META-INF/,\
- about.html,\
- build.properties,\
- src/
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/preservation/IntervalTestCase.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/preservation/IntervalTestCase.java
deleted file mode 100644
index 2400986..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/preservation/IntervalTestCase.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.preservation;
-
-import junit.framework.TestCase;
-
-import org.eclipse.rephraserengine.internal.core.preservation.Interval;
-
-/**
- *
- * @author Jeff Overbey
- */
-public class IntervalTestCase extends TestCase
-{
- private Interval width1at0 = new Interval(0, 1);
- private Interval width3at1 = new Interval(1, 4);
- private Interval negWidth20 = new Interval(-4, 16);
- private Interval empty1 = new Interval(3, 3);
- private Interval empty2 = new Interval(5, 5);
-
- public void testCtorAndToString()
- {
- assertEquals("[0, 1)", width1at0.toString());
- assertEquals("[1, 4)", width3at1.toString());
- assertEquals("[-4, 16)", negWidth20.toString());
- assertEquals("[3, 3)", empty1.toString());
- assertEquals("[5, 5)", empty2.toString());
- }
-
- public void testAccessors()
- {
- assertEquals(-4, negWidth20.lb);
- assertEquals(16, negWidth20.ub);
- assertEquals( 3, empty1.lb);
- assertEquals( 3, empty1.ub);
- assertEquals( 5, empty2.lb);
- assertEquals( 5, empty2.ub);
- }
-
- public void testCardinality()
- {
- assertEquals(1, width1at0.cardinality());
- assertEquals(3, width3at1.cardinality());
- assertEquals(20, negWidth20.cardinality());
- assertEquals(0, empty1.cardinality());
- assertEquals(0, empty2.cardinality());
- }
-
- public void testComparison()
- {
- assertFalse(width3at1.isLessThan(width1at0));
- assertTrue(width1at0.isLessThan(width3at1));
-
- assertFalse(width3at1.isLessThan(negWidth20));
-
- assertTrue(empty1.isLessThan(empty2));
- assertFalse(empty2.isLessThan(empty1));
- }
-
- public void testSubset()
- {
- assertFalse(width3at1.isSubsetOf(width1at0));
- assertFalse(width1at0.isSubsetOf(width3at1));
-
- assertFalse(negWidth20.isSubsetOf(width3at1));
- assertTrue(width3at1.isSubsetOf(negWidth20));
-
- assertTrue(empty1.isSubsetOf(width3at1));
- assertTrue(empty1.isSubsetOf(negWidth20));
- assertTrue(empty1.isSubsetOf(empty2));
- assertTrue(empty1.isSubsetOf(empty1));
- assertTrue(empty2.isSubsetOf(width3at1));
- assertTrue(empty2.isSubsetOf(negWidth20));
- assertTrue(empty2.isSubsetOf(empty2));
- assertTrue(empty2.isSubsetOf(empty1));
- }
-
- public void testOffset()
- {
- assertEquals(new Interval( 3, 4), width1at0.plus(3));
- assertEquals(new Interval( 4, 7), width3at1.plus(3));
- assertEquals(new Interval(-1, 19), negWidth20.plus(3));
- assertEquals(new Interval( 6, 6), empty1.plus(3));
- assertEquals(new Interval( 8, 8), empty2.plus(3));
- }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/preservation/NormalizationTestCase.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/preservation/NormalizationTestCase.java
deleted file mode 100644
index 5553130..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/preservation/NormalizationTestCase.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.preservation;
-
-import junit.framework.TestCase;
-
-import org.eclipse.rephraserengine.internal.core.preservation.Interval;
-import org.eclipse.rephraserengine.internal.core.preservation.PrimitiveOp;
-
-/**
- *
- * @author Jeff Overbey
- */
-public class NormalizationTestCase extends TestCase
-{
- public void testOffset()
- {
- PrimitiveOp.Alpha alpha = PrimitiveOp.alpha("no_filename", 3, 6);
- int count = alpha.k.cardinality();
- assertEquals(3, count);
-
- Interval before = new Interval(0, 3);
- Interval overlapped = new Interval(3, 7);
- Interval after = new Interval(7, 11);
-
- assertEquals(before.lb, alpha.offset(before.lb));
- assertEquals(before.ub-1, alpha.offset(before.ub-1));
- assertEquals(overlapped.lb+count, alpha.offset(overlapped.lb));
- assertEquals(overlapped.ub-1+count, alpha.offset(overlapped.ub-1));
- assertEquals(after.lb+count, alpha.offset(after.lb));
- assertEquals(after.ub-1+count, alpha.offset(after.ub-1));
- }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/InternalCDTDBTests.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/InternalCDTDBTests.java
deleted file mode 100644
index 0a00ce2..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/InternalCDTDBTests.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.vpg;
-
-import java.io.File;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB.Annotations;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB.Dependencies;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB.Edges;
-import org.eclipse.rephraserengine.internal.core.vpg.db.cdt.InternalCDTDB.Files;
-
-public class InternalCDTDBTests extends TestCase
-{
- private InternalCDTDB db = null;
-
- @Override
- protected void setUp() throws Exception
- {
- File dbFile = File.createTempFile("vpg", null);
- dbFile.deleteOnExit();
-
- db = new InternalCDTDB(dbFile);
- }
-
- public void testFiles() throws CoreException
- {
- assertNotNull(db);
- Files f = db.files;
- assertNotNull(f);
-
- assertEquals(0, numFiles());
- assertTrue(f.findRecordFor("a") < 0);
- assertTrue(f.findRecordFor("a") < 0);
-
- for (String filename : new String[] { "a", "b", "c" })
- {
- int record = f.ensure(filename);
- assertTrue(record >= 0);
- assertEquals(record, f.ensure(filename));
- assertEquals(record, f.findRecordFor(filename));
- assertEquals(filename, f.getFilename(record).getString());
- }
-
- assertEquals(3, numFiles());
-
- f.delete("b");
-
- assertTrue(f.findRecordFor("a") >= 0);
- assertTrue(f.findRecordFor("b") < 0);
- assertTrue(f.findRecordFor("c") >= 0);
- assertEquals(2, numFiles());
-
- int record = f.findRecordFor("a");
- f.setModificationStamp(record, 12345);
- assertEquals(12345, f.getModificationStamp(record));
- f.setModificationStamp(record, 54321);
- assertEquals(54321, f.getModificationStamp(record));
-
- f.delete("a");
- f.delete("c");
- f.delete("c");
- assertEquals(0, numFiles());
- }
-
- private int numFiles() throws CoreException
- {
- return db.files.findAllFileRecords().size();
- }
-
- public void testDependencies() throws CoreException
- {
- assertNotNull(db);
- Dependencies d = db.dependencies;
- assertNotNull(d);
-
- assertEquals(0, numFiles());
- assertDependencies(0, 0, 0, 0, 0, 0);
-
- d.ensure("a", "b");
- assertDependencies(0, 1, 1, 0, 0, 0);
- d.ensure("a", "b");
- assertDependencies(0, 1, 1, 0, 0, 0);
-
- d.ensure("a", "c");
- assertDependencies(0, 2, 1, 0, 1, 0);
-
- d.ensure("c", "a");
- assertDependencies(1, 2, 1, 0, 1, 1);
-
- d.delete("a", "b");
- assertDependencies(1, 1, 0, 0, 1, 1);
-
- d.delete("c", "a");
- assertDependencies(0, 1, 0, 0, 1, 0);
-
- d.delete("a", "c");
- assertDependencies(0, 0, 0, 0, 0, 0);
-
- db.files.delete("a");
- db.files.delete("b");
- db.files.delete("c");
- assertEquals(0, numFiles());
- }
-
- private void assertDependencies(int inA, int outA, int inB, int outB, int inC, int outC) throws CoreException
- {
- assertEquals(inA, db.dependencies.findAllIncomingDependencyRecordsTo("a").size());
- assertEquals(outA, db.dependencies.findAllOutgoingDependencyRecordsFrom("a").size());
-
- assertEquals(inB, db.dependencies.findAllIncomingDependencyRecordsTo("b").size());
- assertEquals(outB, db.dependencies.findAllOutgoingDependencyRecordsFrom("b").size());
-
- assertEquals(inC, db.dependencies.findAllIncomingDependencyRecordsTo("c").size());
- assertEquals(outC, db.dependencies.findAllOutgoingDependencyRecordsFrom("c").size());
-
- assertEquals(inA > 0, db.dependencies.hasIncomingDependencyRecords("a"));
- assertEquals(outA > 0, db.dependencies.hasOutgoingDependencyRecords("a"));
-
- assertEquals(inB > 0, db.dependencies.hasIncomingDependencyRecords("b"));
- assertEquals(outB > 0, db.dependencies.hasOutgoingDependencyRecords("b"));
-
- assertEquals(inC > 0, db.dependencies.hasIncomingDependencyRecords("c"));
- assertEquals(outC > 0, db.dependencies.hasOutgoingDependencyRecords("c"));
- }
-
- public void testEdges() throws CoreException
- {
- assertNotNull(db);
- Edges e = db.edges;
- assertNotNull(e);
-
- assertEquals(0, numFiles());
-
- e.ensure("a", 1, 2, "b", 3, 4, 5);
- assertEdges(0, 1, 1, 0, 0, 0);
- e.ensure("a", 1, 2, "b", 3, 4, 5);
- assertEdges(0, 1, 1, 0, 0, 0);
-
- e.ensure("a", 1, 2, "b", 3, 4, 6);
- assertEdges(0, 2, 2, 0, 0, 0);
-
- int record = e.ensure("b", 3, 4, "a", 1, 2, 6);
- assertEdges(1, 2, 2, 1, 0, 0);
-
- assertEquals("b", db.files.getFilename(e.getFromFileRecordPtr(record)).getString());
- assertEquals(3, e.getFromOffset(record));
- assertEquals(4, e.getFromLength(record));
- assertEquals("a", db.files.getFilename(e.getToFileRecordPtr(record)).getString());
- assertEquals(1, e.getToOffset(record));
- assertEquals(2, e.getToLength(record));
- assertEquals(6, e.getEdgeType(record));
-
- assertEquals(2, e.findAllOutgoingEdgeRecordsFrom("a", 1, 2).size());
- assertEquals(2, e.findAllIncomingEdgeRecordsTo("b", 3, 4).size());
-
- assertEquals(1, e.findAllOutgoingEdgeRecordsFrom("a", 1, 2, 5).size());
- assertEquals(1, e.findAllIncomingEdgeRecordsTo("b", 3, 4, 5).size());
- assertEquals(1, e.findAllOutgoingEdgeRecordsFrom("a", 1, 2, 6).size());
- assertEquals(1, e.findAllIncomingEdgeRecordsTo("b", 3, 4, 6).size());
- assertEquals(0, e.findAllOutgoingEdgeRecordsFrom("a", 1, 2, 7).size());
- assertEquals(0, e.findAllIncomingEdgeRecordsTo("b", 3, 4, 7).size());
-
- db.files.delete("a");
- db.files.delete("b");
- db.files.delete("c");
- assertEquals(0, numFiles());
- }
-
- private void assertEdges(int inA, int outA, int inB, int outB, int inC, int outC) throws CoreException
- {
- assertEquals(inA, db.edges.findAllIncomingEdgeRecordsTo("a").size());
- assertEquals(outA, db.edges.findAllOutgoingEdgeRecordsFrom("a").size());
-
- assertEquals(inB, db.edges.findAllIncomingEdgeRecordsTo("b").size());
- assertEquals(outB, db.edges.findAllOutgoingEdgeRecordsFrom("b").size());
-
- assertEquals(inC, db.edges.findAllIncomingEdgeRecordsTo("c").size());
- assertEquals(outC, db.edges.findAllOutgoingEdgeRecordsFrom("c").size());
-
- assertEquals(inA > 0, db.edges.hasIncomingEdges("a"));
- assertEquals(outA > 0, db.edges.hasOutgoingEdges("a"));
-
- assertEquals(inB > 0, db.edges.hasIncomingEdges("b"));
- assertEquals(outB > 0, db.edges.hasOutgoingEdges("b"));
-
- assertEquals(inC > 0, db.edges.hasIncomingEdges("c"));
- assertEquals(outC > 0, db.edges.hasOutgoingEdges("c"));
- }
-
- public void testAnnotations() throws CoreException
- {
- assertNotNull(db);
- Annotations a = db.annotations;
- assertNotNull(a);
-
- assertEquals(0, numFiles());
-
- byte[] a1 = new byte[] { 1, 2, 3 };
- byte[] a2 = new byte[] { 4, 5, 6 };
-
- a.set("a", 1, 2, 0, a2);
- assertAnnotations(1, 0);
-
- a.set("a", 1, 2, 0, a1);
- assertAnnotations(1, 0);
-
- a.set("a", 1, 2, 1, a2);
- assertAnnotations(2, 0);
-
- System.out.println(a);
-
- a.set("a", 1, 3, 1, a2);
- System.out.println(a);
- assertAnnotations(3, 0);
-
- assertEquals(2, db.annotations.findAllAnnotationRecordsFor("a", 1, 2).size());
- assertEquals(1, db.annotations.findAllAnnotationRecordsFor("a", 1, 3).size());
-
- db.files.delete("a");
- db.files.delete("b");
- db.files.delete("c");
- assertEquals(0, numFiles());
- }
-
- private void assertAnnotations(int numA, int numB) throws CoreException
- {
- assertEquals(numA, db.annotations.findAllAnnotationRecordsFor("a").size());
- assertEquals(numB, db.annotations.findAllAnnotationRecordsFor("b").size());
- }
-}
diff --git a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/VPGTests.java b/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/VPGTests.java
deleted file mode 100644
index 63afa71..0000000
--- a/org.eclipse.rephraserengine.core.vpg.tests/src/org/eclipse/rephraserengine/internal/core/tests/vpg/VPGTests.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.core.tests.vpg;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-
-import org.eclipse.rephraserengine.core.vpg.TokenRef;
-import org.eclipse.rephraserengine.core.vpg.VPG;
-import org.eclipse.rephraserengine.core.vpg.VPGDB;
-import org.eclipse.rephraserengine.core.vpg.VPGEdge;
-import org.eclipse.rephraserengine.core.vpg.VPGLog;
-import org.eclipse.rephraserengine.core.vpg.db.cdt.CDTDB;
-
-import junit.framework.TestCase;
-
-public class VPGTests extends TestCase
-{
- private static class MyVPGDB extends CDTDB<Boolean, Integer, TokenRef<Integer>, VPGLog<Integer, TokenRef<Integer>>>
- {
- public MyVPGDB(File file)
- {
- super(file);
- }
-
- @Override
- protected Serializable deserialize(InputStream binaryStream) throws IOException, ClassNotFoundException
- {
- return null;
- }
-
- @Override
- protected long getModificationStamp(String filename)
- {
- return 0;
- }
-
- @Override
- protected byte[] serialize(Serializable annotation) throws IOException
- {
- return new byte[] {};
- }
- }
-
- private static class MyVPG extends VPG<Boolean, Integer, TokenRef<Integer>, MyVPGDB, VPGLog<Integer, TokenRef<Integer>>>
- {
- public MyVPG(File file)
- {
- super(new VPGLog<Integer, TokenRef<Integer>>(), new MyVPGDB(file));
- }
-
- @Override
- public boolean isVirtualFile(String filename)
- {
- return false;
- }
-
- @Override
- protected void calculateDependencies(String filename)
- {
- }
-
- @Override
- protected boolean shouldProcessFile(String filename)
- {
- return true;
- }
-
- @Override
- public TokenRef<Integer> createTokenRef(String filename, int offset, int length)
- {
- return new TokenRef<Integer>(filename, offset, length);
- }
-
- @Override
- public Integer findToken(TokenRef<Integer> tokenRef)
- {
- return tokenRef.getOffset();
- }
-
- @Override
- protected TokenRef<Integer> getTokenRef(Integer forToken)
- {
- return new TokenRef<Integer>("Hello", forToken, 0);
- }
-
- @Override
- protected Boolean parse(String filename)
- {
- return Boolean.TRUE;
- }
-
- @Override
- protected void populateVPG(String filename, Boolean ast)
- {
- db.ensure(new VPGEdge<Boolean, Integer, TokenRef<Integer>>(this, getTokenRef(1), getTokenRef(2), 3));
- db.ensure(new VPGEdge<Boolean, Integer, TokenRef<Integer>>(this, getTokenRef(1), getTokenRef(2), 3));
- db.ensure(new VPGEdge<Boolean, Integer, TokenRef<Integer>>(this, getTokenRef(1), getTokenRef(2), 4));
- db.ensure(new VPGEdge<Boolean, Integer, TokenRef<Integer>>(this, getTokenRef(5), getTokenRef(6), 7));
- }
- }
-
- private MyVPG vpg = null;
-
- @Override
- protected void setUp() throws Exception
- {
- File dbFile = File.createTempFile("vpg", null);
- dbFile.deleteOnExit();
-
- vpg = new MyVPG(dbFile);
- }
-
- @SuppressWarnings("unused")
- public void testEdges()
- {
- vpg.acquireTransientAST("Hello");
-
- int count = 0;
- for (TokenRef<Integer> t : vpg.db.getIncomingEdgeSources(vpg.getTokenRef(2), VPGDB.ALL_EDGES))
- count++;
- assertEquals(2, count);
-
- count = 0;
- for (TokenRef<Integer> t : vpg.db.getOutgoingEdgeTargets(vpg.getTokenRef(1), VPGDB.ALL_EDGES))
- count++;
- assertEquals(2, count);
-
- count = 0;
- for (TokenRef<Integer> t : vpg.db.getIncomingEdgeSources(vpg.getTokenRef(2), 3))
- count++;
- assertEquals(1, count);
-
- count = 0;
- for (TokenRef<Integer> t : vpg.db.getOutgoingEdgeTargets(vpg.getTokenRef(1), 3))
- count++;
- assertEquals(1, count);
- }
-}
diff --git a/org.eclipse.rephraserengine.doc.isv/.project b/org.eclipse.rephraserengine.doc.isv/.project
deleted file mode 100644
index 080cc8f..0000000
--- a/org.eclipse.rephraserengine.doc.isv/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.rephraserengine.doc.isv</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.doc.isv/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.doc.isv/META-INF/MANIFEST.MF
deleted file mode 100644
index fb75873..0000000
--- a/org.eclipse.rephraserengine.doc.isv/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Rephraser Engine ISV Documentation
-Bundle-SymbolicName: org.eclipse.rephraserengine.doc.isv; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: Eclipse.org - Photran
diff --git a/org.eclipse.rephraserengine.doc.isv/about.html b/org.eclipse.rephraserengine.doc.isv/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.doc.isv/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/build.properties b/org.eclipse.rephraserengine.doc.isv/build.properties
deleted file mode 100644
index d879a4d..0000000
--- a/org.eclipse.rephraserengine.doc.isv/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-bin.includes = plugin.xml,\
- META-INF/,\
- html/,\
- *.xml,\
- images/,\
- about.html
-src.includes = .project,\
- META-INF/,\
- about.html,\
- build.properties,\
- html/,\
- images/,\
- plugin.xml,\
- toc.xml,\
- tocsamples.xml,\
- tocconcepts.xml
diff --git a/org.eclipse.rephraserengine.doc.isv/html/concepts/introduction.html b/org.eclipse.rephraserengine.doc.isv/html/concepts/introduction.html
deleted file mode 100644
index 5af9824..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/concepts/introduction.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Introduction</title>
-</head>
-
-<body>
-<h1>Introduction</h1>
-
-The Rephraser Engine is an Eclipse-based library that expedites the development of refactoring tools. It contains two components:
-<ul>
-<li> The <i>refactoring</i> component allows plug-ins to easily contribute refactorings to the Eclipse user interface.
-<li> The <i>virtual program graph (VPG)</i> component provides a language-independent program database and indexing infrastructure.
-</ul>
-
-These components are independent; some projects may choose to use the Refactoring component without using the VPG component, for example. The dependencies among the projects comprising the Rephraser Engine are as follows.
-
-<img src="../../images/architecture.png" border="0" />
-
-"Rephraser" is an acronym, which stands for
-Rapid
-Eclipse
-Prototyping
-Host for
-Research on
-Approximate
-Semantic
-Equivalence-based
-Refactoring.
-
-<h2>Features</h2>
-
-<h3>Refactoring</h3>
-
-The Refactoring component extends the Eclipse Language ToolKit (LTK) and
-<ul>
-<li> contributes a Refactor menu to the workbench menu bar, as well as to the context menu for resource selections in the workbench;
-<li> provides an extension point that allows refactorings to be contributed to this menu; and
-<li> does not require any user interface code to be written for simple refactorings.
-</ul>
-
-<h3>VPG</h3>
-
-The VPG component
-<ul>
-<li> provides a set of base classes for building persistable program graphs;
-<li> provides an indexing infrastructure by registering a resource listener and automatically updating program graphs as workspace resources change; and
-<li> contributes a "(Debugging)" sub-menu to the workbench Refactoring menu, which provides various actions for viewing, analyzing, and manipulating VPG databases.
-</ul>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/concepts/refactorings.html b/org.eclipse.rephraserengine.doc.isv/html/concepts/refactorings.html
deleted file mode 100644
index 4ab1595..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/concepts/refactorings.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Contributing Refactorings</title>
-</head>
-
-<body>
-<h1>Contributing Refactorings</h1>
-
-TODO
-
-org.eclipse.rephraserengine.ui.refactoring.refactorings extension point
-
-<h2>Examples</h2>
-
-<pre>
- <extension
- point="org.eclipse.rephraserengine.ui.refactoring.refactorings">
-
- <!-- The resource filter determines what must be selected for these refactorings to be visible -->
- <resourceFilter class="org.eclipse.rephraserengine.examples.text.TextFileResourceFilter" />
-
- <!-- Each group defines a new (separated) section in the Refactor menu -->
- <group>
-
- <!-- A resource refactoring which uses an auto-generated user interface -->
- <resourceRefactoring
- class="org.eclipse.rephraserengine.examples.text.ConvertTabsToSpacesRefactoring" />
-
- <!-- An editor refactoring which uses an auto-generated user interface -->
- <editorRefactoring
- class="org.eclipse.photran.internal.core.refactoring.MakePrivateEntityPublicRefactoring" />
-
- <!-- Same as previous, except the given label ("Increase Visibility") will appear in the menu;
- when the label attribute is absent, the label will be whatever is returned by the refactoring's
- #getName method -->
- <editorRefactoring
- label="Increase Visibility"
- class="org.eclipse.photran.internal.core.refactoring.MakePrivateEntityPublicRefactoring" />
-
- <!-- An editor refactoring which uses a custom user interface -->
- <editorRefactoring
- class="org.eclipse.photran.internal.core.refactoring.AddOnlyToUseStmtRefactoring"
- inputPage="org.eclipse.photran.internal.refactoring.ui.AddOnlyToUseStmtInputPage" />
-
- <!-- A command which is contributed as an editor refactoring -->
- <!-- Note that this is the only way to give a refactoring a key binding -->
- <editorRefactoring command="org.eclipse.photran.ui.RenameRefactoringCommand" />
-
- <!-- An editor refactoring which only appears in the menu when the
- PHOTRAN_INCLUDE_TEST_REFACTORINGS environment variable is set to a non-null value -->
- <editorRefactoring
- require_env="PHOTRAN_INCLUDE_TEST_REFACTORINGS"
- class="org.eclipse.photran.internal.core.refactoring.AddEmptySubprogramRefactoring" />
-
- </group>
- </extension>
-</pre>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/concepts/vpg.html b/org.eclipse.rephraserengine.doc.isv/html/concepts/vpg.html
deleted file mode 100644
index 68aa86e..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/concepts/vpg.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Contributing a Virtual Program Graph</title>
-</head>
-
-<body>
-<h1>Contributing a Virtual Program Graph</h1>
-
-TODO
-
-<h2>Example</h2>
-
-<pre>
- <!-- This will automatically add some actions to the (Debugging) sub-menu of the Refactor
- menu in the menu bar, such as Display VPG Database, Refresh VPG Database, etc. -->
- <extension
- point="org.eclipse.rephraserengine.ui.vpg.vpg">
- <vpg
- id="org.eclipse.photran.ui.vpg"
- name="Fortran"
- class="org.eclipse.photran.internal.ui.PhotranVPGContribution" />
- </extension>
-</pre>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/html/samples/samples.html b/org.eclipse.rephraserengine.doc.isv/html/samples/samples.html
deleted file mode 100644
index 4760ff9..0000000
--- a/org.eclipse.rephraserengine.doc.isv/html/samples/samples.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Samples</title>
-</head>
-
-<body>
-<h1>Samples</h1>
-
-<h2>org.eclipse.rephraserengine.examples.text</h2>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.doc.isv/images/architecture.graffle b/org.eclipse.rephraserengine.doc.isv/images/architecture.graffle
deleted file mode 100644
index c2ff03a..0000000
--- a/org.eclipse.rephraserengine.doc.isv/images/architecture.graffle
+++ /dev/null
@@ -1,1712 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
- <key>ActiveLayerIndex</key>
- <integer>0</integer>
- <key>ApplicationVersion</key>
- <array>
- <string>com.omnigroup.OmniGraffle</string>
- <string>138.9.0.117994</string>
- </array>
- <key>AutoAdjust</key>
- <false/>
- <key>BackgroundGraphic</key>
- <dict>
- <key>Bounds</key>
- <string>{{0, 0}, {360, 144}}</string>
- <key>Class</key>
- <string>SolidGraphic</string>
- <key>ID</key>
- <integer>2</integer>
- <key>Style</key>
- <dict>
- <key>shadow</key>
- <dict>
- <key>Draws</key>
- <string>NO</string>
- </dict>
- <key>stroke</key>
- <dict>
- <key>Draws</key>
- <string>NO</string>
- </dict>
- </dict>
- </dict>
- <key>CanvasOrigin</key>
- <string>{0, 0}</string>
- <key>CanvasSize</key>
- <string>{360, 144}</string>
- <key>ColumnAlign</key>
- <integer>1</integer>
- <key>ColumnSpacing</key>
- <real>36</real>
- <key>CreationDate</key>
- <string>2009-10-14 16:40:00 -0500</string>
- <key>Creator</key>
- <string>Jeffrey Overbey</string>
- <key>DisplayScale</key>
- <string>1 0/72 in = 1 0/72 in</string>
- <key>GraphDocumentVersion</key>
- <integer>6</integer>
- <key>GraphicsList</key>
- <array>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>31</integer>
- </dict>
- <key>ID</key>
- <integer>39</integer>
- <key>Points</key>
- <array>
- <string>{172.5, 68.4994}</string>
- <string>{172.5, 112.071}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>StickArrow</string>
- <key>Pattern</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>28</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>31</integer>
- </dict>
- <key>ID</key>
- <integer>38</integer>
- <key>Points</key>
- <array>
- <string>{244.141, 104.147}</string>
- <string>{201.478, 117.331}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>StickArrow</string>
- <key>Pattern</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>19</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>31</integer>
- </dict>
- <key>ID</key>
- <integer>37</integer>
- <key>Points</key>
- <array>
- <string>{100.859, 104.147}</string>
- <string>{143.522, 117.331}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>StickArrow</string>
- <key>Pattern</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>16</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>19</integer>
- </dict>
- <key>ID</key>
- <integer>36</integer>
- <key>Points</key>
- <array>
- <string>{289, 32.4996}</string>
- <string>{289, 76.0706}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>StickArrow</string>
- <key>Pattern</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>25</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>16</integer>
- </dict>
- <key>ID</key>
- <integer>35</integer>
- <key>Points</key>
- <array>
- <string>{56, 32.4996}</string>
- <string>{56, 76.071}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>StickArrow</string>
- <key>Pattern</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>22</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>28</integer>
- </dict>
- <key>ID</key>
- <integer>34</integer>
- <key>Points</key>
- <array>
- <string>{244.141, 32.1472}</string>
- <string>{201.478, 45.3307}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>StickArrow</string>
- <key>Pattern</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>25</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>LineGraphic</string>
- <key>Head</key>
- <dict>
- <key>ID</key>
- <integer>28</integer>
- </dict>
- <key>ID</key>
- <integer>33</integer>
- <key>Points</key>
- <array>
- <string>{100.859, 32.1472}</string>
- <string>{143.522, 45.3307}</string>
- </array>
- <key>Style</key>
- <dict>
- <key>stroke</key>
- <dict>
- <key>HeadArrow</key>
- <string>StickArrow</string>
- <key>Pattern</key>
- <integer>1</integer>
- <key>TailArrow</key>
- <string>0</string>
- </dict>
- </dict>
- <key>Tail</key>
- <dict>
- <key>ID</key>
- <integer>22</integer>
- </dict>
- </dict>
- <dict>
- <key>Class</key>
- <string>Group</string>
- <key>Graphics</key>
- <array>
- <dict>
- <key>Bounds</key>
- <string>{{144, 112.571}, {57, 27.4286}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>31</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- <key>Style</key>
- <dict/>
- <key>Text</key>
- <dict>
- <key>Text</key>
- <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf0 Core}</string>
- <key>VerticalPad</key>
- <integer>0</integer>
- </dict>
- </dict>
- <dict>
- <key>Bounds</key>
- <string>{{144, 108}, {16.7647, 4.57143}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>32</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- </dict>
- </array>
- <key>ID</key>
- <integer>30</integer>
- </dict>
- <dict>
- <key>Class</key>
- <string>Group</string>
- <key>Graphics</key>
- <array>
- <dict>
- <key>Bounds</key>
- <string>{{144, 40.5708}, {57, 27.4286}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>28</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- <key>Style</key>
- <dict/>
- <key>Text</key>
- <dict>
- <key>Text</key>
- <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf0 UI}</string>
- <key>VerticalPad</key>
- <integer>0</integer>
- </dict>
- </dict>
- <dict>
- <key>Bounds</key>
- <string>{{144, 35.9998}, {16.7647, 4.57143}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>29</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- </dict>
- </array>
- <key>ID</key>
- <integer>27</integer>
- </dict>
- <dict>
- <key>Class</key>
- <string>Group</string>
- <key>Graphics</key>
- <array>
- <dict>
- <key>Bounds</key>
- <string>{{233, 4.571}, {112, 27.4286}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>25</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- <key>Style</key>
- <dict/>
- <key>Text</key>
- <dict>
- <key>Text</key>
- <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf0 UI Refactoring}</string>
- <key>VerticalPad</key>
- <integer>0</integer>
- </dict>
- </dict>
- <dict>
- <key>Bounds</key>
- <string>{{233, 0}, {32.9412, 4.57143}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>26</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- </dict>
- </array>
- <key>ID</key>
- <integer>24</integer>
- </dict>
- <dict>
- <key>Class</key>
- <string>Group</string>
- <key>Graphics</key>
- <array>
- <dict>
- <key>Bounds</key>
- <string>{{0, 4.571}, {112, 27.4286}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>22</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- <key>Style</key>
- <dict/>
- <key>Text</key>
- <dict>
- <key>Text</key>
- <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf0 UI VPG}</string>
- <key>VerticalPad</key>
- <integer>0</integer>
- </dict>
- </dict>
- <dict>
- <key>Bounds</key>
- <string>{{0, 0}, {32.9412, 4.57143}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>23</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- </dict>
- </array>
- <key>ID</key>
- <integer>21</integer>
- </dict>
- <dict>
- <key>Class</key>
- <string>Group</string>
- <key>Graphics</key>
- <array>
- <dict>
- <key>Bounds</key>
- <string>{{233, 76.5706}, {112, 27.4286}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>19</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- <key>Style</key>
- <dict/>
- <key>Text</key>
- <dict>
- <key>Text</key>
- <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf0 Core Refactoring}</string>
- <key>VerticalPad</key>
- <integer>0</integer>
- </dict>
- </dict>
- <dict>
- <key>Bounds</key>
- <string>{{233, 71.9996}, {32.9412, 4.57143}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>20</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- </dict>
- </array>
- <key>ID</key>
- <integer>18</integer>
- </dict>
- <dict>
- <key>Class</key>
- <string>Group</string>
- <key>Graphics</key>
- <array>
- <dict>
- <key>Bounds</key>
- <string>{{0, 76.571}, {112, 27.4286}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>16</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- <key>Style</key>
- <dict/>
- <key>Text</key>
- <dict>
- <key>Text</key>
- <string>{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf540
-{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
-
-\f0\fs24 \cf0 Core VPG}</string>
- <key>VerticalPad</key>
- <integer>0</integer>
- </dict>
- </dict>
- <dict>
- <key>Bounds</key>
- <string>{{-8.58307e-05, 71.9996}, {32.9412, 4.57143}}</string>
- <key>Class</key>
- <string>ShapedGraphic</string>
- <key>ID</key>
- <integer>17</integer>
- <key>Shape</key>
- <string>Rectangle</string>
- </dict>
- </array>
- <key>ID</key>
- <integer>15</integer>
- </dict>
- </array>
- <key>GridInfo</key>
- <dict/>
- <key>GuidesLocked</key>
- <string>NO</string>
- <key>GuidesVisible</key>
- <string>YES</string>
- <key>HPages</key>
- <integer>1</integer>
- <key>ImageCounter</key>
- <integer>1</integer>
- <key>KeepToScale</key>
- <false/>
- <key>Layers</key>
- <array>
- <dict>
- <key>Lock</key>
- <string>NO</string>
- <key>Name</key>
- <string>Layer 1</string>
- <key>Print</key>
- <string>YES</string>
- <key>View</key>
- <string>YES</string>
- </dict>
- </array>
- <key>LayoutInfo</key>
- <dict>
- <key>Animate</key>
- <string>NO</string>
- <key>circoMinDist</key>
- <real>18</real>
- <key>circoSeparation</key>
- <real>0.0</real>
- <key>layoutEngine</key>
- <string>dot</string>
- <key>neatoSeparation</key>
- <real>0.0</real>
- <key>twopiSeparation</key>
- <real>0.0</real>
- </dict>
- <key>LinksVisible</key>
- <string>NO</string>
- <key>MagnetsVisible</key>
- <string>NO</string>
- <key>MasterSheets</key>
- <array/>
- <key>ModificationDate</key>
- <string>2009-10-14 16:49:13 -0500</string>
- <key>Modifier</key>
- <string>Jeffrey Overbey</string>
- <key>NotesVisible</key>
- <string>NO</string>
- <key>Orientation</key>
- <integer>2</integer>
- <key>OriginVisible</key>
- <string>NO</string>
- <key>PageBreaks</key>
- <string>YES</string>
- <key>PrintInfo</key>
- <dict>
- <key>NSBottomMargin</key>
- <array>
- <string>float</string>
- <string>41</string>
- </array>
- <key>NSLeftMargin</key>
- <array>
- <string>float</string>
- <string>18</string>
- </array>
- <key>NSPaperSize</key>
- <array>
- <string>size</string>
- <string>{612, 792}</string>
- </array>
- <key>NSRightMargin</key>
- <array>
- <string>float</string>
- <string>18</string>
- </array>
- <key>NSTopMargin</key>
- <array>
- <string>float</string>
- <string>18</string>
- </array>
- </dict>
- <key>PrintOnePage</key>
- <false/>
- <key>QuickLookPreview</key>
- <data>
- JVBERi0xLjMKJcTl8uXrp/Og0MTGCjUgMCBvYmoKPDwgL0xlbmd0aCA2IDAgUiAvRmls
- dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGVV8ty20YQvOMr5hgfBO3sE3sN8yjl
- ZFuyc3DloGJIl1ykFVNKvj89u1hgAQKUJJZKQmmmMdPT07v6QR/oByl8jFfE1tJpR3/S
- d7rePDFtn4jT52lLV6p1Kn3R+NuY1Ozp+v3utN398/zv/YFOD4B1LiMrumJuJTeSU21g
- 6zvaHun65sj0y2MqgY1NwS4Fk7at1V2MTQ7TJWyE1FrPwUyJqsAkLIFF22PZEjVioTxi
- raUy0xfmSlSFJWHRo7BSli9BI5S8bwYVSlQFJWETqK4EmVhIY6PbGGNHnZfKbOxLiyU0
- 5FBQxsaQV1KZ7rtkVaJqQIMRC5bDbDP/wwCmYDIwF1QIBa6fwPXH3eH++eG/3ebx8Hh6
- OO6eTw9bmTbkIQPuXGeUj+RDml8g6cEyO7LAY6t9A4HtIao/8P0ty2xzm1pWdLuBajg9
- XMkP0SPqnGEHFlr8MvQt1KTIpmpMR8wYf6rFi7L3i/iKgpfqFFQwxkuhgoZN0LIJirAF
- VXnOkzOjmH++w9z70jVd4aXG6hDI0t2xuf4N+kdnd3v6afMI4M/vf39Hd9/o17v8humu
- aRnnlEHoZcpgVclAlORN2anSpH/pR4IyPxj5rN9lfhKsMKTcJKMgrjGEBc4UORYZzRiy
- rjVOVC0M0RlDH3f7++0zNPb965SppnYlkX4UqRU5jDRdmjfsLulyjC7TBiBrkbKtubmE
- JWNREGQdX9DWmIF2WDsRTxCBz5jRqjUmgLwz7Xy6eYVyZowwcCa7t6acQkqVUCYsClji
- JS/zGuASMwVxjRnRTKFmQTSmw1pFz+eiATWrksH6Noz1Y1lheHy2VVZGlAOTgL96G+zA
- 0/q4h2TjepB5bhm9eBdsBUqCT4SXTUjisZbQUlfFF7Q1ujjo1lEXRUrpfJhJyVdEgQLx
- n083032anPJShWGhRcwh9ways37S5eDcImRMkscqTDgZ8pL1ivWkHhMl+mVSBljs44yV
- l0SUWeGQWJETvZnRwgZVWIx+0XtGfr4gwNJfsPW/a+tPhpvqU6rtYIpwE6wyzBZMGNsq
- b0C8bq0KnaZDsl2FE0/hxPtyAc1yizOXLM5oHwOvoMkboo2G4HzOMu4ewv80tTnInaDl
- gDHCaHWwuHvlQsrRe6k3MSWNMgDLTdWcZtVG40HKm5pLcNg2HU1TNbeEpnHx6LSGdkrV
- qCSnjrwcSFKVU6EZOHhbczBgtGXlGnEkPHgPrnABAG/5BnFxWNIPkgIISreGCQRohiIG
- wGkk/oajvX/Z2wbSiDWORctTAoK/vLpoSUpVK9+A1wkE7o4DYP5bHwl4OV+nL6tU1Kxt
- iNDE/YawEjWFyYYwLqOyImP9zYUNSWi9zDlZUwz1hlRoZUMalmssVqTakCG12hCGVWBF
- eH0gzeIZlzfEoUlpDv/UgLeyIX05YWyuX3/0eG4m1YbgoBXfTcpcQhs2JFdtokyy35Ah
- ddwQwCUO7Hpzy9aWThbfyZJY4S89s4LTyRH1Wsk1fR5oSXkLQBwczrABeYgoKRiUh9M1
- Q0R+94f/AZ7bFXwKZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjExNTcKZW5kb2JqCjMg
- MCBvYmoKPDwgL1R5cGUgL1BhZ2UgL1BhcmVudCA0IDAgUiAvUmVzb3VyY2VzIDcgMCBS
- IC9Db250ZW50cyA1IDAgUiAvTWVkaWFCb3ggWzAgMCAzNjAgMTQ0XQo+PgplbmRvYmoK
- NyAwIG9iago8PCAvUHJvY1NldCBbIC9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9J
- bWFnZUkgXSAvQ29sb3JTcGFjZSA8PCAvQ3MxIDggMCBSCi9DczIgMzMgMCBSID4+IC9G
- b250IDw8IC9GMS4wIDM0IDAgUiA+PiAvWE9iamVjdCA8PCAvSW0xIDkgMCBSIC9JbTQg
- MTUgMCBSCi9JbTEwIDI3IDAgUiAvSW03IDIxIDAgUiAvSW0zIDEzIDAgUiAvSW0yIDEx
- IDAgUiAvSW0xMSAyOSAwIFIgL0ltNSAxNyAwIFIKL0ltOCAyMyAwIFIgL0ltNiAxOSAw
- IFIgL0ltOSAyNSAwIFIgL0ltMTIgMzEgMCBSID4+ID4+CmVuZG9iago5IDAgb2JqCjw8
- IC9MZW5ndGggMTAgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lk
- dGggMTEwIC9IZWlnaHQgNjAgL0NvbG9yU3BhY2UKMzUgMCBSIC9TTWFzayAzNiAwIFIg
- L0JpdHNQZXJDb21wb25lbnQgOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0K
- eAHt0AENAAAAwqD3T20ON4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG
- DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA
- ge+BAU1YAAEKZW5kc3RyZWFtCmVuZG9iagoxMCAwIG9iagoxMTAKZW5kb2JqCjE1IDAg
- b2JqCjw8IC9MZW5ndGggMTYgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFn
- ZSAvV2lkdGggMjY4IC9IZWlnaHQgMTAwIC9Db2xvclNwYWNlCjM4IDAgUiAvU01hc2sg
- MzkgMCBSIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4K
- c3RyZWFtCngB7dAxAQAAAMKg9U9tDQ+IQGHAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY
- MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED
- BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA
- gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY
- MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED
- BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA
- gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY
- MGDAgAEDBgwYMGDAgAEDBgy8Dww6HwABCmVuZHN0cmVhbQplbmRvYmoKMTYgMCBvYmoK
- Mzc0CmVuZG9iagoyNyAwIG9iago8PCAvTGVuZ3RoIDI4IDAgUiAvVHlwZSAvWE9iamVj
- dCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDE1OCAvSGVpZ2h0IDEwMCAvQ29sb3JTcGFj
- ZQo0MSAwIFIgL1NNYXNrIDQyIDAgUiAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIg
- L0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae3QAQ0AAADCoPdPbQ43iEBhwIABAwYMGDBg
- wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
- GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
- AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
- wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMvA4MuSgAAQpl
- bmRzdHJlYW0KZW5kb2JqCjI4IDAgb2JqCjIzMAplbmRvYmoKMjEgMCBvYmoKPDwgL0xl
- bmd0aCAyMiAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAx
- MTAgL0hlaWdodCA2MCAvQ29sb3JTcGFjZQozNSAwIFIgL1NNYXNrIDQ0IDAgUiAvQml0
- c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae3Q
- AQ0AAADCoPdPbQ43iEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
- wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwICB74EB
- TVgAAQplbmRzdHJlYW0KZW5kb2JqCjIyIDAgb2JqCjExMAplbmRvYmoKMTMgMCBvYmoK
- PDwgL0xlbmd0aCAxNCAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9X
- aWR0aCAxMTAgL0hlaWdodCA2MCAvQ29sb3JTcGFjZQozNSAwIFIgL1NNYXNrIDQ2IDAg
- UiAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
- bQp4Ae3QAQ0AAADCoPdPbQ43iEBhwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
- AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
- wICB74EBTVgAAQplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCjExMAplbmRvYmoKMTEg
- MCBvYmoKPDwgL0xlbmd0aCAxMiAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0lt
- YWdlIC9XaWR0aCAyNjggL0hlaWdodCAxMDAgL0NvbG9yU3BhY2UKMzggMCBSIC9TTWFz
- ayA0OCAwIFIgL0JpdHNQZXJDb21wb25lbnQgOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+
- PgpzdHJlYW0KeAHt0DEBAAAAwqD1T20ND4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG
- DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA
- AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw
- YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG
- DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA
- AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw
- YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG
- DBgwYMCAAQMGDBgwYMCAAQMGDLwPDDofAAEKZW5kc3RyZWFtCmVuZG9iagoxMiAwIG9i
- agozNzQKZW5kb2JqCjI5IDAgb2JqCjw8IC9MZW5ndGggMzAgMCBSIC9UeXBlIC9YT2Jq
- ZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggNzggL0hlaWdodCA2MCAvQ29sb3JTcGFj
- ZQo1MCAwIFIgL1NNYXNrIDUxIDAgUiAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIg
- L0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae3QMQEAAADCoPVPbQsviEBhwIABAwYMGDBg
- wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwZ+
- AwM22AABCmVuZHN0cmVhbQplbmRvYmoKMzAgMCBvYmoKODUKZW5kb2JqCjE3IDAgb2Jq
- Cjw8IC9MZW5ndGggMTggMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAv
- V2lkdGggMTEwIC9IZWlnaHQgNjAgL0NvbG9yU3BhY2UKMzUgMCBSIC9TTWFzayA1MyAw
- IFIgL0JpdHNQZXJDb21wb25lbnQgOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl
- YW0KeAHt0AENAAAAwqD3T20ON4hAYcCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA
- AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw
- YMCAge+BAU1YAAEKZW5kc3RyZWFtCmVuZG9iagoxOCAwIG9iagoxMTAKZW5kb2JqCjIz
- IDAgb2JqCjw8IC9MZW5ndGggMjQgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9J
- bWFnZSAvV2lkdGggMjY4IC9IZWlnaHQgMTAwIC9Db2xvclNwYWNlCjM4IDAgUiAvU01h
- c2sgNTUgMCBSIC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUg
- Pj4Kc3RyZWFtCngB7dAxAQAAAMKg9U9tDQ+IQGHAgAEDBgwYMGDAgAEDBgwYMGDAgAED
- BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA
- gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY
- MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED
- BgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDA
- gAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY
- MGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAED
- BgwYMGDAgAEDBgwYMGDAgAEDBgy8Dww6HwABCmVuZHN0cmVhbQplbmRvYmoKMjQgMCBv
- YmoKMzc0CmVuZG9iagoxOSAwIG9iago8PCAvTGVuZ3RoIDIwIDAgUiAvVHlwZSAvWE9i
- amVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDI2OCAvSGVpZ2h0IDEwMCAvQ29sb3JT
- cGFjZQozOCAwIFIgL1NNYXNrIDU3IDAgUiAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0
- ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae3QMQEAAADCoPVPbQ0PiEBhwIABAwYM
- GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
- AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
- wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
- GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIAB
- AwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBg
- wIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYM
- GDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMvA8MOh8AAQplbmRzdHJl
- YW0KZW5kb2JqCjIwIDAgb2JqCjM3NAplbmRvYmoKMjUgMCBvYmoKPDwgL0xlbmd0aCAy
- NiAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUgL0ltYWdlIC9XaWR0aCA3OCAvSGVp
- Z2h0IDYwIC9Db2xvclNwYWNlCjUwIDAgUiAvU01hc2sgNTkgMCBSIC9CaXRzUGVyQ29t
- cG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7dAxAQAAAMKg
- 9U9tCy+IQGHAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwYMGDAgAEDBgwY
- MGDAgAEDBgwYMGDAgAEDBn4DAzbYAAEKZW5kc3RyZWFtCmVuZG9iagoyNiAwIG9iago4
- NQplbmRvYmoKMzEgMCBvYmoKPDwgL0xlbmd0aCAzMiAwIFIgL1R5cGUgL1hPYmplY3Qg
- L1N1YnR5cGUgL0ltYWdlIC9XaWR0aCAxNTggL0hlaWdodCAxMDAgL0NvbG9yU3BhY2UK
- NDEgMCBSIC9TTWFzayA2MSAwIFIgL0JpdHNQZXJDb21wb25lbnQgOCAvRmlsdGVyIC9G
- bGF0ZURlY29kZSA+PgpzdHJlYW0KeAHt0AENAAAAwqD3T20ON4hAYcCAAQMGDBgwYMCA
- AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgw
- YMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMG
- DBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCA
- AQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDBgwYMCAAQMGDLwODLkoAAEKZW5k
- c3RyZWFtCmVuZG9iagozMiAwIG9iagoyMzAKZW5kb2JqCjQ2IDAgb2JqCjw8IC9MZW5n
- dGggNDcgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggMTEw
- IC9IZWlnaHQgNjAgL0NvbG9yU3BhY2UKL0RldmljZUdyYXkgL0JpdHNQZXJDb21wb25l
- bnQgOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHtmF1XolAUhq38QvwC
- UQRFTBQjUXLULNOJ0lyZNpZWljb2tWr+/z+YfaCZi7SkWWvOzIXvjTccH953bzj7YLMt
- tUxgmcAygb+UwArS6h/LWG7t1n5x1tbW7EgO6zKut8NC4z7hjxYQTRRwEMLpdLpAbstC
- V8MitBaYgPwYaKSHUE7EIAiPx0N+SrCAgJUARUCD954/o1SIBSgCMF6fHxT4hND1Pi9J
- IuRv3js4cGayCJIEUICiKDrEfEohmqKCAb/fi4Au09/86pkwp9vtAVaQCjHhCMtGOY63
- LI6LsmwkzISooN9HetyQJ4pzHs6EudwEsCiaibAcH4sLCVFMWpYoJoR4jOfYCENT4I+A
- OAE3rzdXUIwuMAa+GEAJieS6JKUzspy1KFnOpKXUejIR56MRhgr4TNxcc1A0h9OAhcJR
- XkimJDmrbObUfKGgWVKhkFdzm0pWllJJgWfDdNBv4MDcTKMY1iBGfzAU4eJiKpNV1LxW
- LJbK5cq2FVUq5XKpuKXlc0o2nRLjURPnctjnmAMa5Ej6gnSYiyclWVG1YrlS3ant1RsW
- Va/VdqqVUlFTFVlKxgAHYULp5phbWbU73B6vn2KiANvIAataqzd0/bDZbLWOFqrVajYP
- 9f3G3m61XCzkspIYYxkKskTmZqI0qkYCjOVFaUPdAlZDP2y1jzsn3Z4ldU86x+3Wod6o
- VUuamk0leDYUROYgyjeFM4IkvAE6zAspGWC7Db3Z7nRP++eDwfBisYbDweCsf9rttJt6
- faes5eR1gQub5tZmaShIX5BhY8mMogHs4KjT6w8uLkfXN+PJYo3HN9ejy+F5v9c5OmgA
- TklDlmDO44LCzXizO90QZJgTUln1S7V+0O6cng2vrie30+nd/WLd3U2nt5Prq+EZ4PR6
- taiCuSiqnHu2cNAkiEZH+ISkFMq1/eZx7+xiNL6d3j88PlnS48P9dHIzAtxx8+tuKb8h
- CTyK8gMa9Eha0Sp7evukP7i6AdjT0/OLJT0/PSLc5eAbmKtBlJLIR2igQZu8acqVVYeT
- IAMhVLZNbRuC7PaHo8n0/hFgP6zo5QVwd9/Ho2G/29b3Kqhw/wvNrBuuJP9Bl+B7ArA+
- 3bAFYHtz2bC+lW14dxzcuykMQdgmBRvWKQgKh3PCwzu9gjnkDtNkbnvFwZyH49Rhw3ui
- MtyZpyoMp0UYjLCehNEgZgLB4t8/5b/OfUDE9AXjFbj8WSawTGCZwGcS+AmT1iHrCmVu
- ZHN0cmVhbQplbmRvYmoKNDcgMCBvYmoKOTMwCmVuZG9iago0OCAwIG9iago8PCAvTGVu
- Z3RoIDQ5IDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDI2
- OCAvSGVpZ2h0IDEwMCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvQml0c1BlckNvbXBv
- bmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae2c+1dS6RrHrbwi
- IiQXBRUFRC4ioiSiJRhmmZiXvNCkhmIXDMNKloya4pgykqVm5KXy0qiNOqblZNNtnX/t
- PO8GD5NCdc5Z54e9z/7+4natWqv30/O874b3+3zDwkiRBEgCJAGSAEngf0HgCEH1b7EC
- BkcDOkYYBdZ0FJb4A0h8HGD94eERhFR4OCwOYfkeDoyED0NkVFS0TzGEkH8xUVGR8F8M
- QL5Dw08iIiISMMRQKLGxsVQqNY4ggqXAgiiUmOhoxOPbNBCKY9AZAAIwUONotHg6nUEg
- 0enxNFocEKEADh+NEI2CoYCaQCTiaPEMxvEEJpPFYrM5hBCbzWIxmQnHGYx4WhyiAbUB
- jRIcBqoKVBSIBB04sDmJSVwuLzk5hRBKTuZxuUmJHDbwoGM0oDQQjCAHCoYCNopYKpAA
- EEAhhZ+Wli4QEkSC9LQ0fgoQARxAgxqLto3gMI6gvSIqBoqCkcBO5AIHgTBDnCmRSmUy
- Oe4lk0mlkkxxhlAAPLiJ7AQGlEZMFNpBDxcGlAWgiI6Ni2cwOdyUNIFILJVlKZRKlUqV
- SwDBMpRKRZZMKhYJ0lK4HCYjPg4qIyI8SJdAWcC2ScFQ8PiCDIlcoVTlncjXaAtBRTgX
- WoNWk38iT6VUyCUZAj4Pg0GBDTRIYRyBsoimUGkMZiKPL8yUZ6vUGm3RKZ2+xGAwlOJe
- sIgSve5UkVajVmXLM4V8XiKTQaNSoqEwDjaJryxiAQWHlyaSKlTqgiJdSWnZufIKY+UF
- AqjSWFF+rqy0RFdUoFYppKI0VBm02GCFgVhAh9ABBV8kVeZpTuoNZ89XVtVerG8wEUIN
- 9RdrqyrPnzXoT2rylFIRahN6HBTGoSaBFomMjqUdZ3P5Qmm2ulBXWm6sqTNdbm4xt1ks
- 7biXxdJmbmm+bKqrMZaX6grV2VIhn8s+jgrjUJMcOQrnKZRFYoogU5FXqC+rqK6/1Gy2
- XLPetHXesuNetzptN63XLObmS/XVFWX6wjxFpiAlEQoDztWDGwZqEdgt2Ny0DLlKoysz
- 1pqaWq9abfY73Y4eJwHU4+i+Y7dZr7Y2mWqNZTqNSp6RxmWjHQOa5OtXT4xFfAInRSDJ
- Vp8sBRQtFmvnbYez796Aa4gAcg3c63M6bndaLS0Ao/SkOlsiSOEkxAdlERlDpTOT+CK5
- qkBfXm1qae+wO5z3XMMj7jEPATTmHhl23XM67B3tLabqcn2BSi7iJzHp1JjIQ3URHhkT
- h1pErFAXGSrrmywdXY4+13235+HE5GMCaHLiocd939Xn6OqwNNVXGorUCjFqkrgY2DwP
- 9Eh4FIV2nJMskCg1xWdrLrXesDv6hkY9j6aeeGdn53Cv2Vnvk6lHntGhPof9RuulmrPF
- GqVEkMw5TqNEBWERS4PtQihTaUvO1zVftQEK9/jkk5n55wuLS7jX4sLz+Zknk+NugGG7
- 2lx3vkSrkglhw6DFBmEBxwgzKTUjKw9axGS23nYOjo5PeedeLL1cWV3DvVZXXi69mPNO
- jY8OOm9bzSZokrysjNQkJhwkh+oCjtR4JtouTpwqq/rJYnP0D3smvfMLy6uv1jc2ca+N
- 9Verywvz3knPcL/DZvmpquzUCbRhMNFBcnC/ABZ0YJGp1OjO1TZfsztd7kdP5hZerm1s
- bm3v4F7bW5sbay8X5p48cruc9mvNted0GmUmsKAHZUGls7jpsHXqyy+2WO/0DnumZl4A
- iq2dN7sE0JudLYDxYmbKM9x7x9pysVwPm2c6l0WnBqsLKoPFE0hztCUV9eaO7v6Rh9Pz
- S6vrWzu77/be415773Z3ttZXl+anH470d3eY6ytKtDlSAY/FCMGCnSyQqgoNxoY2m2PA
- /cj7/OWrP7Z3373/QAC9f7e7/cerl8+9j9wDDltbg9FQqJIKktmhWcCRCiwaLZ09rrGJ
- mYWV9a03gOLTZ9zr04f3795sra8szEyMuXo6LY2IhUz4XRaVJsst55BnanZxdWN7dw9Q
- fMG9Pn/6sLe7vbG6ODvlGXLessChGooFfGSPpjLYyVhdBGHxD5zry7dZfPUt35FjEfBx
- BF475blFpRdM7Xaoi8dzS2ubO7vvP3z+gnMS8M//8vnD+92dzbWlucdQF/Z204XSolw5
- vHjCB5KIYyQLkgVZF2SPBPY5kgXJIkAg8ETWBckiQCDwRNYFySJAIPBE1gXJIkAg8ETW
- BckiQCDwRNYFySJAIPBE1gXJIkAg8ETWBckiQCDwRNbFf8uiMMj34Lj/IvxLkLooDPHd
- b9h37kf+n+6KQrBY2Xj9du+vj7i/QYQFfPxr7+3rjZUfuDf7igV2nzr4a+A+9eMn3Otj
- 4D7118Efu09F9+ynjQ2t/nv25VebRLpn33y17L9nb20wnv72PTvmvyjA/Bd3+0fGp+cX
- 4aJ95+2fewTQn2/Bf7GyOD89PtJ/F/NfFHzDfxH7N1/OjTu9v3gmZ54vr61vbRPDl7O9
- tb62/Hxm0vNL750bf/PlBPUo+fxa2flg72y6Zu8ZdD+cBr/W6vrm1utt3Ov11ub6Kvi1
- ph+6B3vs15rA4JmfHdqv5ffxqX0+vm7w8U145xaWV9Z+3yCAfl9bWV6Y806Aj6/b5+PD
- jL9BfXzh4O9MSPT5O42NZmuXc2DkwaR39tni8m8rq7jXym/Li89mvZMPRgacXVYz2HIw
- f2cieF0P+zvDo2CSBgwYUvD9ltc1t9u6e12jDyamn849e7GwiHstvHg293R64sGoq7fb
- 1t5cVw6+XynYL2CaJojvF/zgDMwPnl9cVm0yXwc/uGsEnPGPvU9nCaCn3sfgjh8Bc7z9
- utlUXVacj/nBGUH94GhOgOWfEzDCnIDV7ugdGB4dG4dBgSncC8YExsdGhwd6HXYrzAlA
- i2DbBSvonMCxyGg0P5Iqkqk0+nNVjc0A466zb2Do/qh7jAByj94fGuhz3gUUzY1V5/Qa
- lUwEdnCwuh6eH8FmrPxzRUWGihqYK7pu6+ru+bl/YJAAg0WuwYH+n3u6u2zXYa6opgLK
- wjdXFHTGCj6oYvNm/AxZjqb4TEVN42Vz+42bt7ruwsAZAeTovtt16+aNdvPlxpqKM8Wa
- HFkGDCJi82ZHD3jjsTlEaBKYQxRn5Wp1Z85X1ZmarrRdvW7tsNk6cS+brcN6/WrblSZT
- XdX5MzptbpYYm0OkBplD9M+nwpRVqlCiUGuLDWeNVRcbYED1irkVJlTxrrZW8xUYT224
- WGU8ayjWqhUSYaqvLILNpx6LiKJQYRIRhnUlilxNkc5QVm68UF1bV9/QSAA11NfVVl8w
- lpcZdEWaXEDB58IUIpUSdXhuOQyLOfDNswOMrBy1pvCU3nAGG2g3EkFonP2MQX+qUKPO
- yQIUf5tn/3r0LiwM5RxAEgg23M8XimWKnLz8gsKTKOjgNIQE4F6nUczBycKC/LwchUy8
- jwKlgRwcW0YssPwLFPrA4aamizJlWcqcXPUJjaYAS8BACRJ4lrZAozmhzs1RZskyRemp
- KAwERT6EyL/w5aL4YKTw04ViiVSela1U5kCkCAGUo1RmZ8mlErEwHVJiMBShclFQYaCQ
- GBQHksDicJNT09KFIjEWmCMlhCAuRywSpqelJnM5LMjLgaoIkZcDLKBLsEgpyNZisjhJ
- XF5KKgpSShcQIEpJIEhHMUqpKTxuEocFYTk0iNj6TqgUwIhBqVKMBCbLH7DFg4gt/IvH
- 88drsZgJDJQoFfMNFGH+CDqI2KIADcCBBa9hyWtsAgilrmGxa3QakICiiMQi+YLnru3D
- QMmEMYAD8vho8QRK5IM0PojjQ3l8EE+4n04YAgWcq7BnYOmEKKfRH9SIkhoJIkhp9MU0
- /otEiDQ+37uXjwYKa4yIhADP/QRPf/Yl/n/AkiKx/E4szjRkUfhfRCH9FYWeolxXIia7
- olXtx7p+NWV28D18/3c/D8SEmIIF7q/1h3/C3yGYfnjp5B8kCZAESAIkAZIASeA/J/BP
- zvUZIgplbmRzdHJlYW0KZW5kb2JqCjQ5IDAgb2JqCjI5NzUKZW5kb2JqCjUxIDAgb2Jq
- Cjw8IC9MZW5ndGggNTIgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAv
- V2lkdGggNzggL0hlaWdodCA2MCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvQml0c1Bl
- ckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae2Wa3/p
- WBTGtSUkccutRIVUKqiglFKlpUFLdbTojY46dabz/b/BrL3TnjM96ryZ/W48b/ySzd+z
- npXsvWy2tdYJrBNYmcAG0uZK4eWVP/608MHZ2tqyIzl+Cl/D/S38P/DFTz9cvrBQwEEI
- iqKcINeH0IWTotCS3Y6Jv+fh6hCKQgyaZhiG/SSGoWlYcSIkBq7m4agQC1A0YNweL8j3
- U+jS43GzLENjIOKtxIEzi0WzLIB8HMfxgvhvCQLPcX6fF4gM4ln2lgODOxaMcrkYYPk5
- QZS2A4GgLId+SA4GAwFJFHnO73Wz4A/KXeHOgjldNLA4XtwOyKGdsBKJRtUfikYUJRwK
- BYGIeJY9wH1hbgOV6QRj4EsElBJRdzVtL67riXfpenxPi6lRIAYkgfN6wB7lQNkt4yA0
- B4VhghQMKWpM0xOp/bSRyWZzWNmMYaRTST2u7UaBJ3I+wDlRdss0bA3K9PqFbTkcjcUT
- KSOTy+cPi8XSEVKpVCwW8gc5I53UNVV5x1nmlrwBDepkPX5eksOqpqeMXL5YKleqJ7W6
- pdpJ9bhyVCwcZNPJeCyCcCg7CjXiV9zGpt3hYtxeTgwCLJkGVrlaqzca56bZarXbrZZp
- Nhun9Wrl6PAgk9Jj4E7we1lo7Bel4tRYgAVCUS1pHACr3jhvdS67vas+1lW3e9E2m6e1
- Simf3Y+riizxPjft+oKGC6XdPl4KKTEdYMf1htnpXl0PbofD0Xg8Ho2Gtzd/9HuX7fPT
- armQTe2pO6hWFpf6S6VWoR6/GNhR46kcwJrtbn8wHN89PD5NptPpZPL0eH83vLnuXZiN
- k3LeSGiRkMR7WRo9JMs0ygWFSrISSxiFcq3Z6V7fjO4fp8+z2ct8Pn95mf05nTzeDQf9
- C/OsWsxhc4LfzaDgvqbx26GIlsoWq2fmZf9m/DB5ns2/vS6wXucvsynC9TrNejmf1nfD
- QdHv+R0NerCXypVOGp3eYHj/BLDF4q83rO+L1znC3fYvzdNKwUjElKDIeVjUhiVvDopm
- fQKKbT93BIVeDUYP09n8FWB/I729fV98mz0/3Q2vu62z48MM0GTchuWmbmySpdlRF3hS
- lVo0ol0g94TAa0ru6YUthNibZSP61sMZQ3JHIr1bwiFDbCe3ET1lIDiSJyDZ05ns5PAx
- iMA5SGKqsZGduLA7a+oiMA3Cdkx0UkXbuwUEi/99in4/LYBIaMJ/B64/1gn83xL4B0Wc
- GxAKZW5kc3RyZWFtCmVuZG9iago1MiAwIG9iago5MjcKZW5kb2JqCjQyIDAgb2JqCjw8
- IC9MZW5ndGggNDMgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lk
- dGggMTU4IC9IZWlnaHQgMTAwIC9Db2xvclNwYWNlCi9EZXZpY2VHcmF5IC9CaXRzUGVy
- Q29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7Zv7V1Lp
- GsetvCIiJBcFFQVELiKiJIIlGGaZmJe80KSGYhcMw0qWjJrimDKSpWbkpfLSqI06puVk
- 022df+087wZPkwJ11untrDWL7y8u19a9P+v7vHtveJ7vGxYWUsiBkAP/DAcO/TD9V34B
- 1eHPOoJRn69yGC76DZBeMiAKD4/4QQoPh8sh0K8BEmxesMioqGivYjDJd/qoqEiwARC/
- wudji4iIBLAYEik2NpZMJsdhE5wcLkEixURHI8LgfAjuCNQT0ACMHEehxFOpNKyiUuMp
- lDhgJAGgly9AeQk48A2xxVHiabSjCXQ6g8FksjCJyWQw6PSEozRaPCUO8YF/UF7/eMg5
- ZBxiowIZk5WYxGZzkpNTMCk5mcNmJyWymEBIJfjAPoTn5+Yl4GDBxZKBDdCAK4WblpbO
- 42MTLz0tjZsCjAAIfORYtPz84x1Cay4qBoyjJTAT2UDG42cIM0VisUQixSCJRCwWZQoz
- +DwgZCcyE2hgX0wUujcOmgfWAVx0bFw8jc5ip6TxBEKxJEsmlysUilwsghPL5bIsiVgo
- 4KWlsFl0WnwcuBcR7qe2YB3cECQCjsPlZYikMrki71i+Sq0BFX53obOqVfnH8hRymVSU
- weNyCDwS3Bp+zDsE1kWTyBQaPZHD5WdKsxVKlbrwhFZXrNfrSzAITlus054oVKuUimxp
- Jp/LSaTTKGRSNJi3v7Re62IBjsVJE4hlCmVBoba4pPRMWbmh4hwWVRjKy86UlhRrCwuU
- CplYkIbco8T6Mw/RQV2pAMcViOV5quM6/emzFZU15+vqjZhUX3e+prLi7Gm97rgqTy4W
- oOJS48C8A6WFwkZGx1KOMtlcvjhbqdGWlBmqa40Xm5pNrWZzGwaZza2m5qaLxtpqQ1mJ
- VqPMFvO5bOZRZN6B0h46DE8TsC4xhZcpy9PoSsur6i40mcxXLNetHTdsGHSjw3rdcsVs
- arpQV1VeqtPkyTJ5KYlgHjxV9i88VFhYdUx2WoZUodKWGmqMjS2XLVbbrS57twOLuu1d
- t2xWy+WWRmONoVSrUkgz0thMtPKgtF++Lgi6+ARWCk+UrTxeAnDNZkvHTbuj906/cxCL
- nP13eh32mx0WczPglRxXZot4KayEeL90kTFkKj2JK5AqCnRlVcbmtnab3XHHOTTsGnVj
- 0ahreMh5x2G3tbc1G6vKdAUKqYCbRKeSYyIPeBceGROHCiuUKQv1FXWN5vZOe6/zrst9
- f3ziIRZNjN93u+46e+2d7ebGugp9oVImRKWNi4HbYl9lw6NIlKOsZJ5Irio6XX2h5ZrN
- 3js44n4w+cgzMzOLQTMznkeTD9wjg71227WWC9Wni1RyES+ZdZRCivJDF0uBZceXKNTF
- Z2ubLlsBzjU28Wh67un8wiIGLcw/nZt+NDHmAjzr5abas8VqhYQPC48S64cObll6UmpG
- Vh4U1miy3HQMjIxNemafLT5fXlnFoJXl54vPZj2TYyMDjpsWkxFKm5eVkZpEh5v2gHfw
- QImno2V37ERp5U9mq71vyD3hmZtfWnmxtr6BQetrL1aW5uc8E+6hPrvV/FNl6YljaOHR
- 0U27f90BHRXoMuUq7Zmapis2h9P14NHs/PPV9Y3NrW0M2trcWF99Pj/76IHL6bBdaao5
- o1XJM4GO6peOTGWw0+Gm0JWdb7bc6hlyT04/A7jN7Vc7WPRqexPwnk1Puod6blmaz5fp
- 4LZIZzOoZH/ekWkMDk+coy4urzO1d/UN35+aW1xZ29zeebP7FoN23+xsb66tLM5N3R/u
- 62o31ZUXq3PEPA6DFoCOmcwTKzR6Q32r1d7veuB5+vzFH1s7b96+w6K3b3a2/njx/Knn
- gavfbm2tN+g1CjEvmRmYDh4oQNdg7uh2jo5Pzy+vbb4CuA8fMejDu7dvXm2uLc9Pj486
- uzvMDYhOwv8qXYXRfMMx6J6cWVhZ39rZBbhPGPTxw7vdna31lYWZSfeg44YZHimB6OAD
- VDSZxkwmvPND96/vrk/B6b747H7oSAS8ZuFVIc0tLDlnbLOBdw9nF1c3tnfevvv46buz
- wQk/fXz3dmd7Y3Vx9iF4Z2sznispzJXCywJetBFHQnTBPA95F8yd4MdC3gX3J9jRkHfB
- 3Al+LORdcH+CHQ15F8yd4MdC3gX3J9jRkHfB3Al+LORdcH+CHQ15F8yd4Mf+id5p/Hwn
- w/Cl7JMf7zQBvpOFfeX77P/323YAuuX1l693/3qPoU8Bp3z/1+7rl+vL39AL+IKO6KMM
- /Pq5j/L+Awa9/9xH+XXg2/ooqAd10lDf4utBLb3YwNuD2nix5OtBtdQbTgbvQRH9uwKi
- f3e7b3hsam4BmlDbr//cxaI/X0P/bnlhbmpsuO820b8rCNK/i/1b7/ParZ5f3BPTT5dW
- 1za3cPU+tzbXVpeeTk+4f+m5de1vvU+/nVlv3zg7H8YVjVds3QOu+1PQN15Z29h8uYVB
- Lzc31lagbzx13zXQbbvSCAOL/OzAfWNfz13p7bl3Qc993DM7v7S8+vs6Fv2+urw0P+sZ
- h557l7fnTgx7/Pbcw2FekZDonVcYGkyWTkf/8L0Jz8yThaXfllcwaPm3pYUnM56Je8P9
- jk6LCVqfxLwiEaYpB+cV4VEwO4YGnhhmPWW1TW3Wrh7nyL3xqcezT57NL2DQ/LMns4+n
- xu+NOHu6rG1NtWUw6xFD+w7mx35mPTAnoxFzsvyi0iqj6SrMyZzDMMN76Hk8g0WPPQ9h
- jjcMYzzbVZOxqrQon5iT0fzOydCMkeGbMRpgxmix2Xv6h0ZGx2DIOIlBMGIcGx0Z6u+x
- 2ywwY4TCEsuO4XfGeCQyGs1nUwUShUp3prKhCfBuO3r7B++OuEaxyDVyd7C/13Eb4Joa
- Ks/oVAqJAMZkMEw5OJ8lJu++2XahvrwaZttXrZ1d3T/39Q9gGW47B/r7fu7u6rRehdl2
- dTlY551t+528w4cUIhfAzZDkqIpOlVc3XDS1Xbt+o/M2BAOwyN51u/PG9WttposN1eWn
- ilQ5kgwIVRC5gMP7pnhEpgJKC5kKYVauWnvqbGWtsfFS6+WrlnartQODrNZ2y9XLrZca
- jbWVZ09p1blZQiJTQfaTqfDlUWD2nsoXyZTqIv1pQ+X5egikXDK1QCLl+6u1xXQJ4ij1
- 5ysNp/VFaqVMxE/1Wucvj3IkIopEhlQFxGVEslxVoVZfWmY4V1VTW1ffgEX1dbU1VecM
- ZaV6baEqF+C4bEhUkElRB7M8YUSEzJuDArysHKVKc0KnP0UEoQx4hGJQp/S6ExqVMicL
- 4P6Wg/oytBAWhjJkkA0kYlpcvlAiy8nLL9AcRyGykxD3wqCTKEJ2XFOQn5cjkwj34FA+
- cH+UB9ER+TsUcWOxU9MFmZIseU6u8phKVUAk8FBe7vtKXaBSHVPm5sizJJmC9FQUD0QB
- twD5O2920YuXwk3nC0ViaVa2XJ4DIUMsypHLs7OkYpGQnw7ZSgIuUHYRmYeilSggmMBg
- sZNT09L5AiER/BRjEsQ+hQJ+elpqMpvFgNwnOBcg9wl0UFsi0AtZYzqDlcTmpKSi0Gw6
- D0tslsdLR5HZ1BQOO4nFgNAnBSLHX4n0Al4MyvTSEugMX+CYA5FjHOJwfHFjBj2BhvK8
- MUHgwnxBcogck4APAImwNpHWZmIRSmoTUW0qBdjAuEgi6u4/q72HhzL4MQAIOXdKPNak
- O6TcIeaOcu4QxN/L4QeAg6cKrD0ih4/2CPg2CaBdAtgEOwS8WwT+wxYg5e59Onv50EaB
- iEjYYLG3w8K3EwLHD7hIJLG/gtgAEtA438sDdrCgbSJob8qP2Z2CrrO3NeWLNMD+t9ne
- 7z5CRPmjBJfcu/o3/4T/wa5vhgn9YciBkAMhB/43B/4NWOwBxAplbmRzdHJlYW0KZW5k
- b2JqCjQzIDAgb2JqCjI5MDEKZW5kb2JqCjUzIDAgb2JqCjw8IC9MZW5ndGggNTQgMCBS
- IC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggMTEwIC9IZWlnaHQg
- NjAgL0NvbG9yU3BhY2UKL0RldmljZUdyYXkgL0JpdHNQZXJDb21wb25lbnQgOCAvRmls
- dGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHtmF1XolAUhq38QvwCUQRFTBQjUXLU
- LNOJ0lyZNpZWljb2tWr+/z+YfaCZi7SkWWvOzIXvjTccH953bzj7YLMttUxgmcAygb+U
- wArS6h/LWG7t1n5x1tbW7EgO6zKut8NC4z7hjxYQTRRwEMLpdLpAbstCV8MitBaYgPwY
- aKSHUE7EIAiPx0N+SrCAgJUARUCD954/o1SIBSgCMF6fHxT4hND1Pi9JIuRv3js4cGay
- CJIEUICiKDrEfEohmqKCAb/fi4Au09/86pkwp9vtAVaQCjHhCMtGOY63LI6LsmwkzISo
- oN9HetyQJ4pzHs6EudwEsCiaibAcH4sLCVFMWpYoJoR4jOfYCENT4I+AOAE3rzdXUIwu
- MAa+GEAJieS6JKUzspy1KFnOpKXUejIR56MRhgr4TNxcc1A0h9OAhcJRXkimJDmrbObU
- fKGgWVKhkFdzm0pWllJJgWfDdNBv4MDcTKMY1iBGfzAU4eJiKpNV1LxWLJbK5cq2FVUq
- 5XKpuKXlc0o2nRLjURPnctjnmAMa5Ej6gnSYiyclWVG1YrlS3ant1RsWVa/VdqqVUlFT
- FVlKxgAHYULp5phbWbU73B6vn2KiANvIAataqzd0/bDZbLWOFqrVajYP9f3G3m61XCzk
- spIYYxkKskTmZqI0qkYCjOVFaUPdAlZDP2y1jzsn3Z4ldU86x+3Wod6oVUuamk0leDYU
- ROYgyjeFM4IkvAE6zAspGWC7Db3Z7nRP++eDwfBisYbDweCsf9rttJt6faes5eR1gQub
- 5tZmaShIX5BhY8mMogHs4KjT6w8uLkfXN+PJYo3HN9ejy+F5v9c5OmgATklDlmDO44LC
- zXizO90QZJgTUln1S7V+0O6cng2vrie30+nd/WLd3U2nt5Prq+EZ4PR6taiCuSiqnHu2
- cNAkiEZH+ISkFMq1/eZx7+xiNL6d3j88PlnS48P9dHIzAtxx8+tuKb8hCTyK8gMa9Eha
- 0Sp7evukP7i6AdjT0/OLJT0/PSLc5eAbmKtBlJLIR2igQZu8acqVVYeTIAMhVLZNbRuC
- 7PaHo8n0/hFgP6zo5QVwd9/Ho2G/29b3Kqhw/wvNrBuuJP9Bl+B7ArA+3bAFYHtz2bC+
- lW14dxzcuykMQdgmBRvWKQgKh3PCwzu9gjnkDtNkbnvFwZyH49Rhw3uiMtyZpyoMp0UY
- jLCehNEgZgLB4t8/5b/OfUDE9AXjFbj8WSawTGCZwGcS+AmT1iHrCmVuZHN0cmVhbQpl
- bmRvYmoKNTQgMCBvYmoKOTMwCmVuZG9iago1NSAwIG9iago8PCAvTGVuZ3RoIDU2IDAg
- UiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDI2OCAvSGVpZ2h0
- IDEwMCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvQml0c1BlckNvbXBvbmVudCA4IC9G
- aWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae2c+1dS6RrHrbwiIiQXBRUFRC4i
- oiSiJRhmmZiXvNCkhmIXDMNKloya4pgykqVm5KXy0qiNOqblZNNtnX/tPO8GD5NCdc5Z
- 54e9z/7+4natWqv30/O874b3+3zDwkiRBEgCJAGSAEngf0HgCEH1b7ECBkcDOkYYBdZ0
- FJb4A0h8HGD94eERhFR4OCwOYfkeDoyED0NkVFS0TzGEkH8xUVGR8F8MQL5Dw08iIiIS
- MMRQKLGxsVQqNY4ggqXAgiiUmOhoxOPbNBCKY9AZAAIwUONotHg6nUEg0enxNFocEKEA
- Dh+NEI2CoYCaQCTiaPEMxvEEJpPFYrM5hBCbzWIxmQnHGYx4WhyiAbUBjRIcBqoKVBSI
- BB04sDmJSVwuLzk5hRBKTuZxuUmJHDbwoGM0oDQQjCAHCoYCNopYKpAAEEAhhZ+Wli4Q
- EkSC9LQ0fgoQARxAgxqLto3gMI6gvSIqBoqCkcBO5AIHgTBDnCmRSmUyOe4lk0mlkkxx
- hlAAPLiJ7AQGlEZMFNpBDxcGlAWgiI6Ni2cwOdyUNIFILJVlKZRKlUqVSwDBMpRKRZZM
- KhYJ0lK4HCYjPg4qIyI8SJdAWcC2ScFQ8PiCDIlcoVTlncjXaAtBRTgXWoNWk38iT6VU
- yCUZAj4Pg0GBDTRIYRyBsoimUGkMZiKPL8yUZ6vUGm3RKZ2+xGAwlOJesIgSve5UkVaj
- VmXLM4V8XiKTQaNSoqEwDjaJryxiAQWHlyaSKlTqgiJdSWnZufIKY+UFAqjSWFF+rqy0
- RFdUoFYppKI0VBm02GCFgVhAh9ABBV8kVeZpTuoNZ89XVtVerG8wEUIN9RdrqyrPnzXo
- T2rylFIRahN6HBTGoSaBFomMjqUdZ3P5Qmm2ulBXWm6sqTNdbm4xt1ks7biXxdJmbmm+
- bKqrMZaX6grV2VIhn8s+jgrjUJMcOQrnKZRFYoogU5FXqC+rqK6/1Gy2XLPetHXesuNe
- tzptN63XLObmS/XVFWX6wjxFpiAlEQoDztWDGwZqEdgt2Ny0DLlKoysz1pqaWq9abfY7
- 3Y4eJwHU4+i+Y7dZr7Y2mWqNZTqNSp6RxmWjHQOa5OtXT4xFfAInRSDJVp8sBRQtFmvn
- bYez796Aa4gAcg3c63M6bndaLS0Ao/SkOlsiSOEkxAdlERlDpTOT+CK5qkBfXm1qae+w
- O5z3XMMj7jEPATTmHhl23XM67B3tLabqcn2BSi7iJzHp1JjIQ3URHhkTh1pErFAXGSrr
- mywdXY4+13235+HE5GMCaHLiocd939Xn6OqwNNVXGorUCjFqkrgY2DwP9Eh4FIV2nJMs
- kCg1xWdrLrXesDv6hkY9j6aeeGdn53Cv2Vnvk6lHntGhPof9RuulmrPFGqVEkMw5TqNE
- BWERS4PtQihTaUvO1zVftQEK9/jkk5n55wuLS7jX4sLz+Zknk+NugGG72lx3vkSrkglh
- w6DFBmEBxwgzKTUjKw9axGS23nYOjo5PeedeLL1cWV3DvVZXXi69mPNOjY8OOm9bzSZo
- krysjNQkJhwkh+oCjtR4JtouTpwqq/rJYnP0D3smvfMLy6uv1jc2ca+N9Verywvz3knP
- cL/DZvmpquzUCbRhMNFBcnC/ABZ0YJGp1OjO1TZfsztd7kdP5hZerm1sbm3v4F7bW5sb
- ay8X5p48cruc9mvNted0GmUmsKAHZUGls7jpsHXqyy+2WO/0DnumZl4Aiq2dN7sE0Jud
- LYDxYmbKM9x7x9pysVwPm2c6l0WnBqsLKoPFE0hztCUV9eaO7v6Rh9PzS6vrWzu77/be
- 415773Z3ttZXl+anH470d3eY6ytKtDlSAY/FCMGCnSyQqgoNxoY2m2PA/cj7/OWrP7Z3
- 373/QAC9f7e7/cerl8+9j9wDDltbg9FQqJIKktmhWcCRCiwaLZ09rrGJmYWV9a03gOLT
- Z9zr04f3795sra8szEyMuXo6LY2IhUz4XRaVJsst55BnanZxdWN7dw9QfMG9Pn/6sLe7
- vbG6ODvlGXLessChGooFfGSPpjLYyVhdBGHxD5zry7dZfPUt35FjEfBxBF475blFpRdM
- 7Xaoi8dzS2ubO7vvP3z+gnMS8M//8vnD+92dzbWlucdQF/Z204XSolw5vHjCB5KIYyQL
- kgVZF2SPBPY5kgXJIkAg8ETWBckiQCDwRNYFySJAIPBE1gXJIkAg8ETWBckiQCDwRNYF
- ySJAIPBE1gXJIkAg8ETWBckiQCDwRNbFf8uiMMj34Lj/IvxLkLooDPHdb9h37kf+n+6K
- QrBY2Xj9du+vj7i/QYQFfPxr7+3rjZUfuDf7igV2nzr4a+A+9eMn3Otj4D7118Efu09F
- 9+ynjQ2t/nv25VebRLpn33y17L9nb20wnv72PTvmvyjA/Bd3+0fGp+cX4aJ95+2fewTQ
- n2/Bf7GyOD89PtJ/F/NfFHzDfxH7N1/OjTu9v3gmZ54vr61vbRPDl7O9tb62/Hxm0vNL
- 750bf/PlBPUo+fxa2flg72y6Zu8ZdD+cBr/W6vrm1utt3Ov11ub6Kvi1ph+6B3vs15rA
- 4JmfHdqv5ffxqX0+vm7w8U145xaWV9Z+3yCAfl9bWV6Y806Aj6/b5+PDjL9BfXzh4O9M
- SPT5O42NZmuXc2DkwaR39tni8m8rq7jXym/Li89mvZMPRgacXVYz2HIwf2cieF0P+zvD
- o2CSBgwYUvD9ltc1t9u6e12jDyamn849e7GwiHstvHg293R64sGoq7fb1t5cVw6+XynY
- L2CaJojvF/zgDMwPnl9cVm0yXwc/uGsEnPGPvU9nCaCn3sfgjh8Bc7z9utlUXVacj/nB
- GUH94GhOgOWfEzDCnIDV7ugdGB4dG4dBgSncC8YExsdGhwd6HXYrzAlAi2DbBSvonMCx
- yGg0P5Iqkqk0+nNVjc0A466zb2Do/qh7jAByj94fGuhz3gUUzY1V5/QalUwEdnCwuh6e
- H8FmrPxzRUWGihqYK7pu6+ru+bl/YJAAg0WuwYH+n3u6u2zXYa6opgLKwjdXFHTGCj6o
- YvNm/AxZjqb4TEVN42Vz+42bt7ruwsAZAeTovtt16+aNdvPlxpqKM8WaHFkGDCJi82ZH
- D3jjsTlEaBKYQxRn5Wp1Z85X1ZmarrRdvW7tsNk6cS+brcN6/WrblSZTXdX5MzptbpYY
- m0OkBplD9M+nwpRVqlCiUGuLDWeNVRcbYED1irkVJlTxrrZW8xUYT224WGU8ayjWqhUS
- YaqvLILNpx6LiKJQYRIRhnUlilxNkc5QVm68UF1bV9/QSAA11NfVVl8wlpcZdEWaXEDB
- 58IUIpUSdXhuOQyLOfDNswOMrBy1pvCU3nAGG2g3EkFonP2MQX+qUKPOyQIUf5tn/3r0
- LiwM5RxAEgg23M8XimWKnLz8gsKTKOjgNIQE4F6nUczBycKC/LwchUy8jwKlgRwcW0Ys
- sPwLFPrA4aamizJlWcqcXPUJjaYAS8BACRJ4lrZAozmhzs1RZskyRempKAwERT6EyL/w
- 5aL4YKTw04ViiVSela1U5kCkCAGUo1RmZ8mlErEwHVJiMBShclFQYaCQGBQHksDicJNT
- 09KFIjEWmCMlhCAuRywSpqelJnM5LMjLgaoIkZcDLKBLsEgpyNZisjhJXF5KKgpSShcQ
- IEpJIEhHMUqpKTxuEocFYTk0iNj6TqgUwIhBqVKMBCbLH7DFg4gt/IvH88drsZgJDJQo
- FfMNFGH+CDqI2KIADcCBBa9hyWtsAgilrmGxa3QakICiiMQi+YLnru3DQMmEMYAD8vho
- 8QRK5IM0PojjQ3l8EE+4n04YAgWcq7BnYOmEKKfRH9SIkhoJIkhp9MU0/otEiDQ+37uX
- jwYKa4yIhADP/QRPf/Yl/n/AkiKx/E4szjRkUfhfRCH9FYWeolxXIia7olXtx7p+NWV2
- 8D18/3c/D8SEmIIF7q/1h3/C3yGYfnjp5B8kCZAESAIkAZIASeA/J/BPzvUZIgplbmRz
- dHJlYW0KZW5kb2JqCjU2IDAgb2JqCjI5NzUKZW5kb2JqCjM2IDAgb2JqCjw8IC9MZW5n
- dGggMzcgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAvV2lkdGggMTEw
- IC9IZWlnaHQgNjAgL0NvbG9yU3BhY2UKL0RldmljZUdyYXkgL0JpdHNQZXJDb21wb25l
- bnQgOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAHtmF1XolAUhq38QvwC
- UQRFTBQjUXLULNOJ0lyZNpZWljb2tWr+/z+YfaCZi7SkWWvOzIXvjTccH953bzj7YLMt
- tUxgmcAygb+UwArS6h/LWG7t1n5x1tbW7EgO6zKut8NC4z7hjxYQTRRwEMLpdLpAbstC
- V8MitBaYgPwYaKSHUE7EIAiPx0N+SrCAgJUARUCD954/o1SIBSgCMF6fHxT4hND1Pi9J
- IuRv3js4cGayCJIEUICiKDrEfEohmqKCAb/fi4Au09/86pkwp9vtAVaQCjHhCMtGOY63
- LI6LsmwkzISooN9HetyQJ4pzHs6EudwEsCiaibAcH4sLCVFMWpYoJoR4jOfYCENT4I+A
- OAE3rzdXUIwuMAa+GEAJieS6JKUzspy1KFnOpKXUejIR56MRhgr4TNxcc1A0h9OAhcJR
- XkimJDmrbObUfKGgWVKhkFdzm0pWllJJgWfDdNBv4MDcTKMY1iBGfzAU4eJiKpNV1LxW
- LJbK5cq2FVUq5XKpuKXlc0o2nRLjURPnctjnmAMa5Ej6gnSYiyclWVG1YrlS3ant1RsW
- Va/VdqqVUlFTFVlKxgAHYULp5phbWbU73B6vn2KiANvIAataqzd0/bDZbLWOFqrVajYP
- 9f3G3m61XCzkspIYYxkKskTmZqI0qkYCjOVFaUPdAlZDP2y1jzsn3Z4ldU86x+3Wod6o
- VUuamk0leDYUROYgyjeFM4IkvAE6zAspGWC7Db3Z7nRP++eDwfBisYbDweCsf9rttJt6
- faes5eR1gQub5tZmaShIX5BhY8mMogHs4KjT6w8uLkfXN+PJYo3HN9ejy+F5v9c5OmgA
- TklDlmDO44LCzXizO90QZJgTUln1S7V+0O6cng2vrie30+nd/WLd3U2nt5Prq+EZ4PR6
- taiCuSiqnHu2cNAkiEZH+ISkFMq1/eZx7+xiNL6d3j88PlnS48P9dHIzAtxx8+tuKb8h
- CTyK8gMa9Eha0Sp7evukP7i6AdjT0/OLJT0/PSLc5eAbmKtBlJLIR2igQZu8acqVVYeT
- IAMhVLZNbRuC7PaHo8n0/hFgP6zo5QVwd9/Ho2G/29b3Kqhw/wvNrBuuJP9Bl+B7ArA+
- 3bAFYHtz2bC+lW14dxzcuykMQdgmBRvWKQgKh3PCwzu9gjnkDtNkbnvFwZyH49Rhw3ui
- MtyZpyoMp0UYjLCehNEgZgLB4t8/5b/OfUDE9AXjFbj8WSawTGCZwGcS+AmT1iHrCmVu
- ZHN0cmVhbQplbmRvYmoKMzcgMCBvYmoKOTMwCmVuZG9iago1NyAwIG9iago8PCAvTGVu
- Z3RoIDU4IDAgUiAvVHlwZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDI2
- OCAvSGVpZ2h0IDEwMCAvQ29sb3JTcGFjZQovRGV2aWNlR3JheSAvQml0c1BlckNvbXBv
- bmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ae2c+1dS6RrHrbwi
- IiQXBRUFRC4ioiSiJRhmmZiXvNCkhmIXDMNKloya4pgykqVm5KXy0qiNOqblZNNtnX/t
- PO8GD5NCdc5Z54e9z/7+4natWqv30/O874b3+3zDwkiRBEgCJAGSAEngf0HgCEH1b7EC
- BkcDOkYYBdZ0FJb4A0h8HGD94eERhFR4OCwOYfkeDoyED0NkVFS0TzGEkH8xUVGR8F8M
- QL5Dw08iIiISMMRQKLGxsVQqNY4ggqXAgiiUmOhoxOPbNBCKY9AZAAIwUONotHg6nUEg
- 0enxNFocEKEADh+NEI2CoYCaQCTiaPEMxvEEJpPFYrM5hBCbzWIxmQnHGYx4WhyiAbUB
- jRIcBqoKVBSIBB04sDmJSVwuLzk5hRBKTuZxuUmJHDbwoGM0oDQQjCAHCoYCNopYKpAA
- EEAhhZ+Wli4QEkSC9LQ0fgoQARxAgxqLto3gMI6gvSIqBoqCkcBO5AIHgTBDnCmRSmUy
- Oe4lk0mlkkxxhlAAPLiJ7AQGlEZMFNpBDxcGlAWgiI6Ni2cwOdyUNIFILJVlKZRKlUqV
- SwDBMpRKRZZMKhYJ0lK4HCYjPg4qIyI8SJdAWcC2ScFQ8PiCDIlcoVTlncjXaAtBRTgX
- WoNWk38iT6VUyCUZAj4Pg0GBDTRIYRyBsoimUGkMZiKPL8yUZ6vUGm3RKZ2+xGAwlOJe
- sIgSve5UkVajVmXLM4V8XiKTQaNSoqEwDjaJryxiAQWHlyaSKlTqgiJdSWnZufIKY+UF
- AqjSWFF+rqy0RFdUoFYppKI0VBm02GCFgVhAh9ABBV8kVeZpTuoNZ89XVtVerG8wEUIN
- 9RdrqyrPnzXoT2rylFIRahN6HBTGoSaBFomMjqUdZ3P5Qmm2ulBXWm6sqTNdbm4xt1ks
- 7biXxdJmbmm+bKqrMZaX6grV2VIhn8s+jgrjUJMcOQrnKZRFYoogU5FXqC+rqK6/1Gy2
- XLPetHXesuNetzptN63XLObmS/XVFWX6wjxFpiAlEQoDztWDGwZqEdgt2Ny0DLlKoysz
- 1pqaWq9abfY73Y4eJwHU4+i+Y7dZr7Y2mWqNZTqNSp6RxmWjHQOa5OtXT4xFfAInRSDJ
- Vp8sBRQtFmvnbYez796Aa4gAcg3c63M6bndaLS0Ao/SkOlsiSOEkxAdlERlDpTOT+CK5
- qkBfXm1qae+wO5z3XMMj7jEPATTmHhl23XM67B3tLabqcn2BSi7iJzHp1JjIQ3URHhkT
- h1pErFAXGSrrmywdXY4+13235+HE5GMCaHLiocd939Xn6OqwNNVXGorUCjFqkrgY2DwP
- 9Eh4FIV2nJMskCg1xWdrLrXesDv6hkY9j6aeeGdn53Cv2Vnvk6lHntGhPof9RuulmrPF
- GqVEkMw5TqNEBWERS4PtQihTaUvO1zVftQEK9/jkk5n55wuLS7jX4sLz+Zknk+NugGG7
- 2lx3vkSrkglhw6DFBmEBxwgzKTUjKw9axGS23nYOjo5PeedeLL1cWV3DvVZXXi69mPNO
- jY8OOm9bzSZokrysjNQkJhwkh+oCjtR4JtouTpwqq/rJYnP0D3smvfMLy6uv1jc2ca+N
- 9Verywvz3knPcL/DZvmpquzUCbRhMNFBcnC/ABZ0YJGp1OjO1TZfsztd7kdP5hZerm1s
- bm3v4F7bW5sbay8X5p48cruc9mvNted0GmUmsKAHZUGls7jpsHXqyy+2WO/0DnumZl4A
- iq2dN7sE0JudLYDxYmbKM9x7x9pysVwPm2c6l0WnBqsLKoPFE0hztCUV9eaO7v6Rh9Pz
- S6vrWzu77/be415773Z3ttZXl+anH470d3eY6ytKtDlSAY/FCMGCnSyQqgoNxoY2m2PA
- /cj7/OWrP7Z3373/QAC9f7e7/cerl8+9j9wDDltbg9FQqJIKktmhWcCRCiwaLZ09rrGJ
- mYWV9a03gOLTZ9zr04f3795sra8szEyMuXo6LY2IhUz4XRaVJsst55BnanZxdWN7dw9Q
- fMG9Pn/6sLe7vbG6ODvlGXLessChGooFfGSPpjLYyVhdBGHxD5zry7dZfPUt35FjEfBx
- BF475blFpRdM7Xaoi8dzS2ubO7vvP3z+gnMS8M//8vnD+92dzbWlucdQF/Z204XSolw5
- vHjCB5KIYyQLkgVZF2SPBPY5kgXJIkAg8ETWBckiQCDwRNYFySJAIPBE1gXJIkAg8ETW
- BckiQCDwRNYFySJAIPBE1gXJIkAg8ETWBckiQCDwRNbFf8uiMMj34Lj/IvxLkLooDPHd
- b9h37kf+n+6KQrBY2Xj9du+vj7i/QYQFfPxr7+3rjZUfuDf7igV2nzr4a+A+9eMn3Otj
- 4D7118Efu09F9+ynjQ2t/nv25VebRLpn33y17L9nb20wnv72PTvmvyjA/Bd3+0fGp+cX
- 4aJ95+2fewTQn2/Bf7GyOD89PtJ/F/NfFHzDfxH7N1/OjTu9v3gmZ54vr61vbRPDl7O9
- tb62/Hxm0vNL750bf/PlBPUo+fxa2flg72y6Zu8ZdD+cBr/W6vrm1utt3Ov11ub6Kvi1
- ph+6B3vs15rA4JmfHdqv5ffxqX0+vm7w8U145xaWV9Z+3yCAfl9bWV6Y806Aj6/b5+PD
- jL9BfXzh4O9MSPT5O42NZmuXc2DkwaR39tni8m8rq7jXym/Li89mvZMPRgacXVYz2HIw
- f2cieF0P+zvDo2CSBgwYUvD9ltc1t9u6e12jDyamn849e7GwiHstvHg293R64sGoq7fb
- 1t5cVw6+XynYL2CaJojvF/zgDMwPnl9cVm0yXwc/uGsEnPGPvU9nCaCn3sfgjh8Bc7z9
- utlUXVacj/nBGUH94GhOgOWfEzDCnIDV7ugdGB4dG4dBgSncC8YExsdGhwd6HXYrzAlA
- i2DbBSvonMCxyGg0P5Iqkqk0+nNVjc0A466zb2Do/qh7jAByj94fGuhz3gUUzY1V5/Qa
- lUwEdnCwuh6eH8FmrPxzRUWGihqYK7pu6+ru+bl/YJAAg0WuwYH+n3u6u2zXYa6opgLK
- wjdXFHTGCj6oYvNm/AxZjqb4TEVN42Vz+42bt7ruwsAZAeTovtt16+aNdvPlxpqKM8Wa
- HFkGDCJi82ZHD3jjsTlEaBKYQxRn5Wp1Z85X1ZmarrRdvW7tsNk6cS+brcN6/WrblSZT
- XdX5MzptbpYYm0OkBplD9M+nwpRVqlCiUGuLDWeNVRcbYED1irkVJlTxrrZW8xUYT224
- WGU8ayjWqhUSYaqvLILNpx6LiKJQYRIRhnUlilxNkc5QVm68UF1bV9/QSAA11NfVVl8w
- lpcZdEWaXEDB58IUIpUSdXhuOQyLOfDNswOMrBy1pvCU3nAGG2g3EkFonP2MQX+qUKPO
- yQIUf5tn/3r0LiwM5RxAEgg23M8XimWKnLz8gsKTKOjgNIQE4F6nUczBycKC/LwchUy8
- jwKlgRwcW0YssPwLFPrA4aamizJlWcqcXPUJjaYAS8BACRJ4lrZAozmhzs1RZskyRemp
- KAwERT6EyL/w5aL4YKTw04ViiVSela1U5kCkCAGUo1RmZ8mlErEwHVJiMBShclFQYaCQ
- GBQHksDicJNT09KFIjEWmCMlhCAuRywSpqelJnM5LMjLgaoIkZcDLKBLsEgpyNZisjhJ
- XF5KKgpSShcQIEpJIEhHMUqpKTxuEocFYTk0iNj6TqgUwIhBqVKMBCbLH7DFg4gt/IvH
- 88drsZgJDJQoFfMNFGH+CDqI2KIADcCBBa9hyWtsAgilrmGxa3QakICiiMQi+YLnru3D
- QMmEMYAD8vho8QRK5IM0PojjQ3l8EE+4n04YAgWcq7BnYOmEKKfRH9SIkhoJIkhp9MU0
- /otEiDQ+37uXjwYKa4yIhADP/QRPf/Yl/n/AkiKx/E4szjRkUfhfRCH9FYWeolxXIia7
- olXtx7p+NWV28D18/3c/D8SEmIIF7q/1h3/C3yGYfnjp5B8kCZAESAIkAZIASeA/J/BP
- zvUZIgplbmRzdHJlYW0KZW5kb2JqCjU4IDAgb2JqCjI5NzUKZW5kb2JqCjM5IDAgb2Jq
- Cjw8IC9MZW5ndGggNDAgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9JbWFnZSAv
- V2lkdGggMjY4IC9IZWlnaHQgMTAwIC9Db2xvclNwYWNlCi9EZXZpY2VHcmF5IC9CaXRz
- UGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7Zz7
- V1LpGsetvCIiJBcFFQVELiKiJKIlGGaZmJe80KSGYhcMw0qWjJrimDKSpWbkpfLSqI06
- puVk022df+087wYPk0J1zlnnh73P/v7idq1aq/fT87zvhvf7fMPCSJEESAIkAZIASeB/
- QeAIQfVvsQIGRwM6RhgF1nQUlvgDSHwcYP3h4RGEVHg4LA5h+R4OjIQPQ2RUVLRPMYSQ
- fzFRUZHwXwxAvkPDTyIiIhIwxFAosbGxVCo1jiCCpcCCKJSY6GjE49s0EIpj0BkAAjBQ
- 42i0eDqdQSDR6fE0WhwQoQAOH40QjYKhgJpAJOJo8QzG8QQmk8ViszmEEJvNYjGZCccZ
- jHhaHKIBtQGNEhwGqgpUFIgEHTiwOYlJXC4vOTmFEEpO5nG5SYkcNvCgYzSgNBCMIAcK
- hgI2ilgqkAAQQCGFn5aWLhASRIL0tDR+ChABHECDGou2jeAwjqC9IioGioKRwE7kAgeB
- MEOcKZFKZTI57iWTSaWSTHGGUAA8uInsBAaURkwU2kEPFwaUBaCIjo2LZzA53JQ0gUgs
- lWUplEqVSpVLAMEylEpFlkwqFgnSUrgcJiM+DiojIjxIl0BZwLZJwVDw+IIMiVyhVOWd
- yNdoC0FFOBdag1aTfyJPpVTIJRkCPg+DQYENNEhhHIGyiKZQaQxmIo8vzJRnq9QabdEp
- nb7EYDCU4l6wiBK97lSRVqNWZcszhXxeIpNBo1KioTAONomvLGIBBYeXJpIqVOqCIl1J
- adm58gpj5QUCqNJYUX6urLREV1SgVimkojRUGbTYYIWBWECH0AEFXyRV5mlO6g1nz1dW
- 1V6sbzARQg31F2urKs+fNehPavKUUhFqE3ocFMahJoEWiYyOpR1nc/lCaba6UFdabqyp
- M11ubjG3WSztuJfF0mZuab5sqqsxlpfqCtXZUiGfyz6OCuNQkxw5CucplEViiiBTkVeo
- L6uorr/UbLZcs960dd6y4163Om03rdcs5uZL9dUVZfrCPEWmICURCgPO1YMbBmoR2C3Y
- 3LQMuUqjKzPWmppar1pt9jvdjh4nAdTj6L5jt1mvtjaZao1lOo1KnpHGZaMdA5rk61dP
- jEV8AidFIMlWnywFFC0Wa+dth7Pv3oBriAByDdzrczpud1otLQCj9KQ6WyJI4STEB2UR
- GUOlM5P4IrmqQF9ebWpp77A7nPdcwyPuMQ8BNOYeGXbdczrsHe0tpupyfYFKLuInMenU
- mMhDdREeGROHWkSsUBcZKuubLB1djj7Xfbfn4cTkYwJocuKhx33f1efo6rA01VcaitQK
- MWqSuBjYPA/0SHgUhXackyyQKDXFZ2sutd6wO/qGRj2Ppp54Z2fncK/ZWe+TqUee0aE+
- h/1G66Was8UapUSQzDlOo0QFYRFLg+1CKFNpS87XNV+1AQr3+OSTmfnnC4tLuNfiwvP5
- mSeT426AYbvaXHe+RKuSCWHDoMUGYQHHCDMpNSMrD1rEZLbedg6Ojk95514svVxZXcO9
- VldeLr2Y806Njw46b1vNJmiSvKyM1CQmHCSH6gKO1Hgm2i5OnCqr+slic/QPeya98wvL
- q6/WNzZxr431V6vLC/PeSc9wv8Nm+amq7NQJtGEw0UFycL8AFnRgkanU6M7VNl+zO13u
- R0/mFl6ubWxube/gXttbmxtrLxfmnjxyu5z2a82153QaZSawoAdlQaWzuOmwderLL7ZY
- 7/QOe6ZmXgCKrZ03uwTQm50tgPFiZsoz3HvH2nKxXA+bZzqXRacGqwsqg8UTSHO0JRX1
- 5o7u/pGH0/NLq+tbO7vv9t7jXnvvdne21leX5qcfjvR3d5jrK0q0OVIBj8UIwYKdLJCq
- Cg3GhjabY8D9yPv85as/tnffvf9AAL1/t7v9x6uXz72P3AMOW1uD0VCokgqS2aFZwJEK
- LBotnT2usYmZhZX1rTeA4tNn3OvTh/fv3mytryzMTIy5ejotjYiFTPhdFpUmyy3nkGdq
- dnF1Y3t3D1B8wb0+f/qwt7u9sbo4O+UZct6ywKEaigV8ZI+mMtjJWF0EYfEPnOvLt1l8
- 9S3fkWMR8HEEXjvluUWlF0ztdqiLx3NLa5s7u+8/fP6CcxLwz//y+cP73Z3NtaW5x1AX
- 9nbThdKiXDm8eMIHkohjJAuSBVkXZI8E9jmSBckiQCDwRNYFySJAIPBE1gXJIkAg8ETW
- BckiQCDwRNYFySJAIPBE1gXJIkAg8ETWBckiQCDwRNYFySJAIPBE1sV/y6IwyPfguP8i
- /EuQuigM8d1v2HfuR/6f7opCsFjZeP1276+PuL9BhAV8/Gvv7euNlR+4N/uKBXafOvhr
- 4D714yfc62PgPvXXwR+7T0X37KeNDa3+e/blV5tEumfffLXsv2dvbTCe/vY9O+a/KMD8
- F3f7R8an5xfhon3n7Z97BNCfb8F/sbI4Pz0+0n8X818UfMN/Efs3X86NO72/eCZnni+v
- rW9tE8OXs721vrb8fGbS80vvnRt/8+UE9Sj5/FrZ+WDvbLpm7xl0P5wGv9bq+ubW623c
- 6/XW5voq+LWmH7oHe+zXmsDgmZ8d2q/l9/GpfT6+bvDxTXjnFpZX1n7fIIB+X1tZXpjz
- ToCPr9vn48OMv0F9fOHg70xI9Pk7jY1ma5dzYOTBpHf22eLybyuruNfKb8uLz2a9kw9G
- BpxdVjPYcjB/ZyJ4XQ/7O8OjYJIGDBhS8P2W1zW327p7XaMPJqafzj17sbCIey28eDb3
- dHriwairt9vW3lxXDr5fKdgvYJomiO8X/OAMzA+eX1xWbTJfBz+4awSc8Y+9T2cJoKfe
- x+COHwFzvP262VRdVpyP+cEZQf3gaE6A5Z8TMMKcgNXu6B0YHh0bh0GBKdwLxgTGx0aH
- B3oddivMCUCLYNsFK+icwLHIaDQ/kiqSqTT6c1WNzQDjrrNvYOj+qHuMAHKP3h8a6HPe
- BRTNjVXn9BqVTAR2cLC6Hp4fwWas/HNFRYaKGpgrum7r6u75uX9gkACDRa7Bgf6fe7q7
- bNdhrqimAsrCN1cUdMYKPqhi82b8DFmOpvhMRU3jZXP7jZu3uu7CwBkB5Oi+23Xr5o12
- 8+XGmoozxZocWQYMImLzZkcPeOOxOURoEphDFGflanVnzlfVmZqutF29bu2w2TpxL5ut
- w3r9atuVJlNd1fkzOm1ulhibQ6QGmUP0z6fClFWqUKJQa4sNZ41VFxtgQPWKuRUmVPGu
- tlbzFRhPbbhYZTxrKNaqFRJhqq8sgs2nHouIolBhEhGGdSWKXE2RzlBWbrxQXVtX39BI
- ADXU19VWXzCWlxl0RZpcQMHnwhQilRJ1eG45DIs58M2zA4ysHLWm8JTecAYbaDcSQWic
- /YxBf6pQo87JAhR/m2f/evQuLAzlHEASCDbczxeKZYqcvPyCwpMo6OA0hATgXqdRzMHJ
- woL8vByFTLyPAqWBHBxbRiyw/AsU+sDhpqaLMmVZypxc9QmNpgBLwEAJEniWtkCjOaHO
- zVFmyTJF6akoDARFPoTIv/DlovhgpPDThWKJVJ6VrVTmQKQIAZSjVGZnyaUSsTAdUmIw
- FKFyUVBhoJAYFAeSwOJwk1PT0oUiMRaYIyWEIC5HLBKmp6UmczksyMuBqgiRlwMsoEuw
- SCnI1mKyOElcXkoqClJKFxAgSkkgSEcxSqkpPG4ShwVhOTSI2PpOqBTAiEGpUowEJssf
- sMWDiC38i8fzx2uxmAkMlCgV8w0UYf4IOojYogANwIEFr2HJa2wCCKWuYbFrdBqQgKKI
- xCL5gueu7cNAyYQxgAPy+GjxBErkgzQ+iONDeXwQT7ifThgCBZyrsGdg6YQop9Ef1IiS
- GgkiSGn0xTT+i0SIND7fu5ePBgprjIiEAM/9BE9/9iX+f8CSIrH8TizONGRR+F9EIf0V
- hZ6iXFciJruiVe3Hun41ZXbwPXz/dz8PxISYggXur/WHf8LfIZh+eOnkHyQJkARIAiQB
- kgBJ4D8n8E/O9RkiCmVuZHN0cmVhbQplbmRvYmoKNDAgMCBvYmoKMjk3NQplbmRvYmoK
- NDQgMCBvYmoKPDwgL0xlbmd0aCA0NSAwIFIgL1R5cGUgL1hPYmplY3QgL1N1YnR5cGUg
- L0ltYWdlIC9XaWR0aCAxMTAgL0hlaWdodCA2MCAvQ29sb3JTcGFjZQovRGV2aWNlR3Jh
- eSAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
- bQp4Ae2YXVeiUBSGrfxC/AJRBEVMFCNRctQs04nSXJk2llaWNva1av7/P5h9oJmLtKRZ
- a87Mhe+NNxwf3ndvOPtgsy21TGCZwDKBv5TACtLqH8tYbu3WfnHW1tbsSA7rMq63w0Lj
- PuGPFhBNFHAQwul0ukBuy0JXwyK0FpiA/BhopIdQTsQgCI/HQ35KsICAlQBFQIP3nj+j
- VIgFKAIwXp8fFPiE0PU+L0ki5G/eOzhwZrIIkgRQgKIoOsR8SiGaooIBv9+LgC7T3/zq
- mTCn2+0BVpAKMeEIy0Y5jrcsjouybCTMhKig30d63JAninMezoS53ASwKJqJsBwfiwsJ
- UUxaligmhHiM59gIQ1Pgj4A4ATevN1dQjC4wBr4YQAmJ5LokpTOynLUoWc6kpdR6MhHn
- oxGGCvhM3FxzUDSH04CFwlFeSKYkOats5tR8oaBZUqGQV3ObSlaWUkmBZ8N00G/gwNxM
- oxjWIEZ/MBTh4mIqk1XUvFYslsrlyrYVVSrlcqm4peVzSjadEuNRE+dy2OeYAxrkSPqC
- dJiLJyVZUbViuVLdqe3VGxZVr9V2qpVSUVMVWUrGAAdhQunmmFtZtTvcHq+fYqIA28gB
- q1qrN3T9sNlstY4WqtVqNg/1/cbebrVcLOSykhhjGQqyROZmojSqRgKM5UVpQ90CVkM/
- bLWPOyfdniV1TzrH7dah3qhVS5qaTSV4NhRE5iDKN4UzgiS8ATrMCykZYLsNvdnudE/7
- 54PB8GKxhsPB4Kx/2u20m3p9p6zl5HWBC5vm1mZpKEhfkGFjyYyiAezgqNPrDy4uR9c3
- 48lijcc316PL4Xm/1zk6aABOSUOWYM7jgsLNeLM73RBkmBNSWfVLtX7Q7pyeDa+uJ7fT
- 6d39Yt3dTae3k+ur4Rng9Hq1qIK5KKqce7Zw0CSIRkf4hKQUyrX95nHv7GI0vp3ePzw+
- WdLjw/10cjMC3HHz624pvyEJPIryAxr0SFrRKnt6+6Q/uLoB2NPT84slPT89Itzl4BuY
- q0GUkshHaKBBm7xpypVVh5MgAyFUtk1tG4Ls9oejyfT+EWA/rOjlBXB338ejYb/b1vcq
- qHD/C82sG64k/0GX4HsCsD7dsAVge3PZsL6VbXh3HNy7KQxB2CYFG9YpCAqHc8LDO72C
- OeQO02Rue8XBnIfj1GHDe6Iy3JmnKgynRRiMsJ6E0SBmAsHi3z/lv859QMT0BeMVuPxZ
- JrBMYJnAZxL4CZPWIesKZW5kc3RyZWFtCmVuZG9iago0NSAwIG9iago5MzAKZW5kb2Jq
- CjU5IDAgb2JqCjw8IC9MZW5ndGggNjAgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBl
- IC9JbWFnZSAvV2lkdGggNzggL0hlaWdodCA2MCAvQ29sb3JTcGFjZQovRGV2aWNlR3Jh
- eSAvQml0c1BlckNvbXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh
- bQp4Ae2Wa3/pWBTGtSUkccutRIVUKqiglFKlpUFLdbTojY46dabz/b/BrL3TnjM96ryZ
- /W48b/ySzd+znpXsvWy2tdYJrBNYmcAG0uZK4eWVP/608MHZ2tqyIzl+Cl/D/S38P/DF
- Tz9cvrBQwEEIiqKcINeH0IWTotCS3Y6Jv+fh6hCKQgyaZhiG/SSGoWlYcSIkBq7m4agQ
- C1A0YNweL8j3U+jS43GzLENjIOKtxIEzi0WzLIB8HMfxgvhvCQLPcX6fF4gM4ln2lgOD
- OxaMcrkYYPk5QZS2A4GgLId+SA4GAwFJFHnO73Wz4A/KXeHOgjldNLA4XtwOyKGdsBKJ
- RtUfikYUJRwKBYGIeJY9wH1hbgOV6QRj4EsElBJRdzVtL67riXfpenxPi6lRIAYkgfN6
- wB7lQNkt4yA0B4VhghQMKWpM0xOp/bSRyWZzWNmMYaRTST2u7UaBJ3I+wDlRdss0bA3K
- 9PqFbTkcjcUTKSOTy+cPi8XSEVKpVCwW8gc5I53UNVV5x1nmlrwBDepkPX5eksOqpqeM
- XL5YKleqJ7W6pdpJ9bhyVCwcZNPJeCyCcCg7CjXiV9zGpt3hYtxeTgwCLJkGVrlaqzca
- 56bZarXbrZZpNhun9Wrl6PAgk9Jj4E7we1lo7Bel4tRYgAVCUS1pHACr3jhvdS67vas+
- 1lW3e9E2m6e1Simf3Y+riizxPjft+oKGC6XdPl4KKTEdYMf1htnpXl0PbofD0Xg8Ho2G
- tzd/9HuX7fPTarmQTe2pO6hWFpf6S6VWoR6/GNhR46kcwJrtbn8wHN89PD5NptPpZPL0
- eH83vLnuXZiNk3LeSGiRkMR7WRo9JMs0ygWFSrISSxiFcq3Z6V7fjO4fp8+z2ct8Pn95
- mf05nTzeDQf9C/OsWsxhc4LfzaDgvqbx26GIlsoWq2fmZf9m/DB5ns2/vS6wXucvsynC
- 9TrNejmf1nfDQdHv+R0NerCXypVOGp3eYHj/BLDF4q83rO+L1znC3fYvzdNKwUjElKDI
- eVjUhiVvDopmfQKKbT93BIVeDUYP09n8FWB/I729fV98mz0/3Q2vu62z48MM0GTchuWm
- bmySpdlRF3hSlVo0ol0g94TAa0ru6YUthNibZSP61sMZQ3JHIr1bwiFDbCe3ET1lIDiS
- JyDZ05ns5PAxiMA5SGKqsZGduLA7a+oiMA3Cdkx0UkXbuwUEi/99in4/LYBIaMJ/B64/
- 1gn83xL4B0WcGxAKZW5kc3RyZWFtCmVuZG9iago2MCAwIG9iago5MjcKZW5kb2JqCjYx
- IDAgb2JqCjw8IC9MZW5ndGggNjIgMCBSIC9UeXBlIC9YT2JqZWN0IC9TdWJ0eXBlIC9J
- bWFnZSAvV2lkdGggMTU4IC9IZWlnaHQgMTAwIC9Db2xvclNwYWNlCi9EZXZpY2VHcmF5
- IC9CaXRzUGVyQ29tcG9uZW50IDggL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFt
- CngB7Zv7V1LpGsetvCIiJBcFFQVELiKiJIIlGGaZmJe80KSGYhcMw0qWjJrimDKSpWbk
- pfLSqI06puVk022df+087wZPkwJ11untrDWL7y8u19a9P+v7vHtveJ7vGxYWUsiBkAP/
- DAcO/TD9V34B1eHPOoJRn69yGC76DZBeMiAKD4/4QQoPh8sh0K8BEmxesMioqGivYjDJ
- d/qoqEiwARC/wudji4iIBLAYEik2NpZMJsdhE5wcLkEixURHI8LgfAjuCNQT0ACMHEeh
- xFOpNKyiUuMplDhgJAGgly9AeQk48A2xxVHiabSjCXQ6g8FksjCJyWQw6PSEozRaPCUO
- 8YF/UF7/eMg5ZBxiowIZk5WYxGZzkpNTMCk5mcNmJyWymEBIJfjAPoTn5+Yl4GDBxZKB
- DdCAK4WblpbO42MTLz0tjZsCjAAIfORYtPz84x1Cay4qBoyjJTAT2UDG42cIM0VisUQi
- xSCJRCwWZQoz+DwgZCcyE2hgX0wUujcOmgfWAVx0bFw8jc5ip6TxBEKxJEsmlysUilws
- ghPL5bIsiVgo4KWlsFl0WnwcuBcR7qe2YB3cECQCjsPlZYikMrki71i+Sq0BFX53obOq
- VfnH8hRymVSUweNyCDwS3Bp+zDsE1kWTyBQaPZHD5WdKsxVKlbrwhFZXrNfrSzAITlus
- 054oVKuUimxpJp/LSaTTKGRSNJi3v7Re62IBjsVJE4hlCmVBoba4pPRMWbmh4hwWVRjK
- y86UlhRrCwuUCplYkIbco8T6Mw/RQV2pAMcViOV5quM6/emzFZU15+vqjZhUX3e+prLi
- 7Gm97rgqTy4WoOJS48C8A6WFwkZGx1KOMtlcvjhbqdGWlBmqa40Xm5pNrWZzGwaZza2m
- 5qaLxtpqQ1mJVqPMFvO5bOZRZN6B0h46DE8TsC4xhZcpy9PoSsur6i40mcxXLNetHTds
- GHSjw3rdcsVsarpQV1VeqtPkyTJ5KYlgHjxV9i88VFhYdUx2WoZUodKWGmqMjS2XLVbb
- rS57twOLuu1dt2xWy+WWRmONoVSrUkgz0thMtPKgtF++Lgi6+ARWCk+UrTxeAnDNZkvH
- Tbuj906/cxCLnP13eh32mx0WczPglRxXZot4KayEeL90kTFkKj2JK5AqCnRlVcbmtnab
- 3XHHOTTsGnVj0ahreMh5x2G3tbc1G6vKdAUKqYCbRKeSYyIPeBceGROHCiuUKQv1FXWN
- 5vZOe6/zrst9f3ziIRZNjN93u+46e+2d7ebGugp9oVImRKWNi4HbYl9lw6NIlKOsZJ5I
- rio6XX2h5ZrN3js44n4w+cgzMzOLQTMznkeTD9wjg71227WWC9Wni1RyES+ZdZRCivJD
- F0uBZceXKNTFZ2ubLlsBzjU28Wh67un8wiIGLcw/nZt+NDHmAjzr5abas8VqhYQPC48S
- 64cObll6UmpGVh4U1miy3HQMjIxNemafLT5fXlnFoJXl54vPZj2TYyMDjpsWkxFKm5eV
- kZpEh5v2gHfwQImno2V37ERp5U9mq71vyD3hmZtfWnmxtr6BQetrL1aW5uc8E+6hPrvV
- /FNl6YljaOHR0U27f90BHRXoMuUq7Zmapis2h9P14NHs/PPV9Y3NrW0M2trcWF99Pj/7
- 6IHL6bBdaao5o1XJM4GO6peOTGWw0+Gm0JWdb7bc6hlyT04/A7jN7Vc7WPRqexPwnk1P
- uod6blmaz5fp4LZIZzOoZH/ekWkMDk+coy4urzO1d/UN35+aW1xZ29zeebP7FoN23+xs
- b66tLM5N3R/u62o31ZUXq3PEPA6DFoCOmcwTKzR6Q32r1d7veuB5+vzFH1s7b96+w6K3
- b3a2/njx/Knngavfbm2tN+g1CjEvmRmYDh4oQNdg7uh2jo5Pzy+vbb4CuA8fMejDu7dv
- Xm2uLc9Pj486uzvMDYhOwv8qXYXRfMMx6J6cWVhZ39rZBbhPGPTxw7vdna31lYWZSfeg
- 44YZHimB6OADVDSZxkwmvPND96/vrk/B6b747H7oSAS8ZuFVIc0tLDlnbLOBdw9nF1c3
- tnfevvv46buzwQk/fXz3dmd7Y3Vx9iF4Z2sznispzJXCywJetBFHQnTBPA95F8yd4MdC
- 3gX3J9jRkHfB3Al+LORdcH+CHQ15F8yd4MdC3gX3J9jRkHfB3Al+LORdcH+CHQ15F8yd
- 4Mf+id5p/Hwnw/Cl7JMf7zQBvpOFfeX77P/323YAuuX1l693/3qPoU8Bp3z/1+7rl+vL
- 39AL+IKO6KMM/Pq5j/L+Awa9/9xH+XXg2/ooqAd10lDf4utBLb3YwNuD2nix5OtBtdQb
- TgbvQRH9uwKif3e7b3hsam4BmlDbr//cxaI/X0P/bnlhbmpsuO820b8rCNK/i/1b7/Pa
- rZ5f3BPTT5dW1za3cPU+tzbXVpeeTk+4f+m5de1vvU+/nVlv3zg7H8YVjVds3QOu+1PQ
- N15Z29h8uYVBLzc31lagbzx13zXQbbvSCAOL/OzAfWNfz13p7bl3Qc993DM7v7S8+vs6
- Fv2+urw0P+sZh557l7fnTgx7/Pbcw2FekZDonVcYGkyWTkf/8L0Jz8yThaXfllcwaPm3
- pYUnM56Je8P9jk6LCVqfxLwiEaYpB+cV4VEwO4YGnhhmPWW1TW3Wrh7nyL3xqcezT57N
- L2DQ/LMns4+nxu+NOHu6rG1NtWUw6xFD+w7mx35mPTAnoxFzsvyi0iqj6SrMyZzDMMN7
- 6Hk8g0WPPQ9hjjcMYzzbVZOxqrQon5iT0fzOydCMkeGbMRpgxmix2Xv6h0ZGx2DIOIlB
- MGIcGx0Z6u+x2ywwY4TCEsuO4XfGeCQyGs1nUwUShUp3prKhCfBuO3r7B++OuEaxyDVy
- d7C/13Eb4JoaKs/oVAqJAMZkMEw5OJ8lJu++2XahvrwaZttXrZ1d3T/39Q9gGW47B/r7
- fu7u6rRehdl2dTlY551t+528w4cUIhfAzZDkqIpOlVc3XDS1Xbt+o/M2BAOwyN51u/PG
- 9WttposN1eWnilQ5kgwIVRC5gMP7pnhEpgJKC5kKYVauWnvqbGWtsfFS6+WrlnartQOD
- rNZ2y9XLrZcajbWVZ09p1blZQiJTQfaTqfDlUWD2nsoXyZTqIv1pQ+X5egikXDK1QCLl
- +6u1xXQJ4ij15ysNp/VFaqVMxE/1Wucvj3IkIopEhlQFxGVEslxVoVZfWmY4V1VTW1ff
- gEX1dbU1VecMZaV6baEqF+C4bEhUkElRB7M8YUSEzJuDArysHKVKc0KnP0UEoQx4hGJQ
- p/S6ExqVMicL4P6Wg/oytBAWhjJkkA0kYlpcvlAiy8nLL9AcRyGykxD3wqCTKEJ2XFOQ
- n5cjkwj34FA+cH+UB9ER+TsUcWOxU9MFmZIseU6u8phKVUAk8FBe7vtKXaBSHVPm5siz
- JJmC9FQUD0QBtwD5O2920YuXwk3nC0ViaVa2XJ4DIUMsypHLs7OkYpGQnw7ZSgIuUHYR
- mYeilSggmMBgsZNT09L5AiER/BRjEsQ+hQJ+elpqMpvFgNwnOBcg9wl0UFsi0AtZYzqD
- lcTmpKSi0Gw6D0tslsdLR5HZ1BQOO4nFgNAnBSLHX4n0Al4MyvTSEugMX+CYA5FjHOJw
- fHFjBj2BhvK8MUHgwnxBcogck4APAImwNpHWZmIRSmoTUW0qBdjAuEgi6u4/q72HhzL4
- MQAIOXdKPNakO6TcIeaOcu4QxN/L4QeAg6cKrD0ih4/2CPg2CaBdAtgEOwS8WwT+wxYg
- 5e59Onv50EaBiEjYYLG3w8K3EwLHD7hIJLG/gtgAEtA438sDdrCgbSJob8qP2Z2CrrO3
- NeWLNMD+t9ne7z5CRPmjBJfcu/o3/4T/wa5vhgn9YciBkAMhB/43B/4NWOwBxAplbmRz
- dHJlYW0KZW5kb2JqCjYyIDAgb2JqCjI5MDEKZW5kb2JqCjYzIDAgb2JqCjw8IC9MZW5n
- dGggNjQgMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRl
- RGVjb2RlID4+CnN0cmVhbQp4Aa2Tv2sTYRzGnySUBq1Rq3RyuEFKC1HeVhSdTG1UolXO
- GKnt5OVySU6Sy3F3aQ04FCfpH1CFliwtRaSDW61TQVAHBUGwVRwdHNyCcZByPu8dIV2C
- iy987/28zz3f73vvjwNiG5ptV6IAqpbnZK9eUu7OzCr9X3AAA4xRnNB0155Q1SlaerT2
- Z0Tkq0+nZK1ftZHFzNi6vR1vNn/8fvG+R1JHTjicEIgkKRwvhZySnA85J3nesz16ypL1
- slYgPyQnnVx2kvyMnCiF/FJyPuR3kuf0kszdJQurYFpANE4+XzBcnZwi5wuuXiWvkV9V
- qzXWj90jj+i2w9zYY/JJuS/s2eYFcDFN/5OuNnMU2GgDQ8tdbXgJOPYN2Gp1tdZusFeR
- obhbPDMelIsc3AT6lny/NQ30jwJ7O77/Z9P399Y591dgu63XnbnAy4VEPgD/GodrDqsD
- Hx91qBeH+xK4uLbVFDC9AFynsMIY5vcNLgMq9VwK0bOvOxHuIS1APG26dkVrBIP/+ahW
- 6jynoPXxOWBYd26zTzCmis6VLHt+M2bva9dU9oOMRdPLyHsjPSuGe1n6jzCeIw0TLmxU
- oKGBG6jBouLBQB0OFBRICscNeiSZfK8HLgv1m4eKCWGJt2JVbIkd8VOs7atQY77Kqhaz
- NdaXMyC8S5wZ557yLHEr1/z+ZuzwglT2N894wHsGTNbshmOWyp4ywT/JSCoZSz+dVMaF
- uIC/70CoUQplbmRzdHJlYW0KZW5kb2JqCjY0IDAgb2JqCjU1MQplbmRvYmoKMzUgMCBv
- YmoKWyAvSUNDQmFzZWQgNjMgMCBSIF0KZW5kb2JqCjY1IDAgb2JqCjw8IC9MZW5ndGgg
- NjYgMCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVj
- b2RlID4+CnN0cmVhbQp4Aa2Tv2sTYRzGnySUBq1Rq3RyuEFKC1HeVhSdTG1UolXOGKnt
- 5OVySU6Sy3F3aQ04FCfpH1CFliwtRaSDW61TQVAHBUGwVRwdHNyCcZByPu8dIV2Ciy98
- 7/28zz3f73vvjwNiG5ptV6IAqpbnZK9eUu7OzCr9X3AAA4xRnNB0155Q1SlaerT2Z0Tk
- q0+nZK1ftZHFzNi6vR1vNn/8fvG+R1JHTjicEIgkKRwvhZySnA85J3nesz16ypL1slYg
- PyQnnVx2kvyMnCiF/FJyPuR3kuf0kszdJQurYFpANE4+XzBcnZwi5wuuXiWvkV9VqzXW
- j90jj+i2w9zYY/JJuS/s2eYFcDFN/5OuNnMU2GgDQ8tdbXgJOPYN2Gp1tdZusFeRobhb
- PDMelIsc3AT6lny/NQ30jwJ7O77/Z9P399Y591dgu63XnbnAy4VEPgD/GodrDqsDHx91
- qBeH+xK4uLbVFDC9AFynsMIY5vcNLgMq9VwK0bOvOxHuIS1APG26dkVrBIP/+ahW6jyn
- oPXxOWBYd26zTzCmis6VLHt+M2bva9dU9oOMRdPLyHsjPSuGe1n6jzCeIw0TLmxUoKGB
- G6jBouLBQB0OFBRICscNeiSZfK8HLgv1m4eKCWGJt2JVbIkd8VOs7atQY77KqhazNdaX
- MyC8S5wZ557yLHEr1/z+ZuzwglT2N894wHsGTNbshmOWyp4ywT/JSCoZSz+dVMaFuIC/
- 70CoUQplbmRzdHJlYW0KZW5kb2JqCjY2IDAgb2JqCjU1MQplbmRvYmoKNTAgMCBvYmoK
- WyAvSUNDQmFzZWQgNjUgMCBSIF0KZW5kb2JqCjY3IDAgb2JqCjw8IC9MZW5ndGggNjgg
- MCBSIC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2Rl
- ID4+CnN0cmVhbQp4Aa2Tv2sTYRzGnySUBq1Rq3RyuEFKC1HeVhSdTG1UolXOGKnt5OVy
- SU6Sy3F3aQ04FCfpH1CFliwtRaSDW61TQVAHBUGwVRwdHNyCcZByPu8dIV2Ciy987/28
- zz3f73vvjwNiG5ptV6IAqpbnZK9eUu7OzCr9X3AAA4xRnNB0155Q1SlaerT2Z0Tkq0+n
- ZK1ftZHFzNi6vR1vNn/8fvG+R1JHTjicEIgkKRwvhZySnA85J3nesz16ypL1slYgPyQn
- nVx2kvyMnCiF/FJyPuR3kuf0kszdJQurYFpANE4+XzBcnZwi5wuuXiWvkV9VqzXWj90j
- j+i2w9zYY/JJuS/s2eYFcDFN/5OuNnMU2GgDQ8tdbXgJOPYN2Gp1tdZusFeRobhbPDMe
- lIsc3AT6lny/NQ30jwJ7O77/Z9P399Y591dgu63XnbnAy4VEPgD/GodrDqsDHx91qBeH
- +xK4uLbVFDC9AFynsMIY5vcNLgMq9VwK0bOvOxHuIS1APG26dkVrBIP/+ahW6jynoPXx
- OWBYd26zTzCmis6VLHt+M2bva9dU9oOMRdPLyHsjPSuGe1n6jzCeIw0TLmxUoKGBG6jB
- ouLBQB0OFBRICscNeiSZfK8HLgv1m4eKCWGJt2JVbIkd8VOs7atQY77KqhazNdaXMyC8
- S5wZ557yLHEr1/z+ZuzwglT2N894wHsGTNbshmOWyp4ywT/JSCoZSz+dVMaFuIC/70Co
- UQplbmRzdHJlYW0KZW5kb2JqCjY4IDAgb2JqCjU1MQplbmRvYmoKMzggMCBvYmoKWyAv
- SUNDQmFzZWQgNjcgMCBSIF0KZW5kb2JqCjY5IDAgb2JqCjw8IC9MZW5ndGggNzAgMCBS
- IC9OIDMgL0FsdGVybmF0ZSAvRGV2aWNlUkdCIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+
- CnN0cmVhbQp4Aa2Tv2sTYRzGnySUBq1Rq3RyuEFKC1HeVhSdTG1UolXOGKnt5OVySU6S
- y3F3aQ04FCfpH1CFliwtRaSDW61TQVAHBUGwVRwdHNyCcZByPu8dIV2Ciy987/28zz3f
- 73vvjwNiG5ptV6IAqpbnZK9eUu7OzCr9X3AAA4xRnNB0155Q1SlaerT2Z0Tkq0+nZK1f
- tZHFzNi6vR1vNn/8fvG+R1JHTjicEIgkKRwvhZySnA85J3nesz16ypL1slYgPyQnnVx2
- kvyMnCiF/FJyPuR3kuf0kszdJQurYFpANE4+XzBcnZwi5wuuXiWvkV9VqzXWj90jj+i2
- w9zYY/JJuS/s2eYFcDFN/5OuNnMU2GgDQ8tdbXgJOPYN2Gp1tdZusFeRobhbPDMelIsc
- 3AT6lny/NQ30jwJ7O77/Z9P399Y591dgu63XnbnAy4VEPgD/GodrDqsDHx91qBeH+xK4
- uLbVFDC9AFynsMIY5vcNLgMq9VwK0bOvOxHuIS1APG26dkVrBIP/+ahW6jynoPXxOWBY
- d26zTzCmis6VLHt+M2bva9dU9oOMRdPLyHsjPSuGe1n6jzCeIw0TLmxUoKGBG6jBouLB
- QB0OFBRICscNeiSZfK8HLgv1m4eKCWGJt2JVbIkd8VOs7atQY77KqhazNdaXMyC8S5wZ
- 557yLHEr1/z+ZuzwglT2N894wHsGTNbshmOWyp4ywT/JSCoZSz+dVMaFuIC/70CoUQpl
- bmRzdHJlYW0KZW5kb2JqCjcwIDAgb2JqCjU1MQplbmRvYmoKNDEgMCBvYmoKWyAvSUND
- QmFzZWQgNjkgMCBSIF0KZW5kb2JqCjcxIDAgb2JqCjw8IC9MZW5ndGggNzIgMCBSIC9O
- IDEgL0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+Pgpz
- dHJlYW0KeAGFUk9IFFEc/s02EoSIQYV4iHcKCZUprKyg2nZ1WZVtW5XSohhn37qjszPT
- m9k1xZMEXaI8dQ+iY3Ts0KGbl6LArEvXIKkgCDx16PvN7OoohG95O9/7/f1+33tEbZ2m
- 7zspQVRzQ5UrpaduTk2Lgx8pRR3UTlimFfjpYnGMseu5kr+719Zn0tiy3se1dvv2PbWV
- ZWAh6i22txD6IZFmAB+ZnyhlgLPAHZav2D4BPFgOrBrwI6IDD5q5MNPRnHSlsi2RU+ai
- KCqvYjtJrvv5uca+i7WJg/5cj2bWjr2z6qrRTNS090ShvA+uRBnPX1T2bDUUpw3jnEhD
- GinyrtXfK0zHEZErEEoGUjVkuZ9qTp114HUYu126k+P49hClPslgqIm16bKZHYV9AHYq
- y+wQ8AXo8bJiD+eBe2H/W1HDk8AnYT9kh3nWrR/2F65T4HuEPTXgzhSuxfHaih9eLQFD
- 91QjaIxzTcTT1zlzpIjvMdQZmPdGOaYLMXeWqhM3gDthH1mqZgqxXfuu6iXuewJ30+M7
- 0Zs5C1ygHElysRXZFNA8CVgUfYuwSQ48Ps4eVeB3qJjAHLmJ3M0o9x7VERtno1KBVnqN
- V8ZP47nxxfhlbBjPgH6sdtd7fP/p4xV117Y+PPmNetw5rr2dG1VhVnFlC93/xzKEj9kn
- OabB06FZWGvYduQPmsxMsAwoxH8FPpf6khNV3NXu7bhFEsxQPixsJbpLVG4p1Oo9g0qs
- HCvYAHZwksQsWhy4U2u6OXh32CJ6bflNV7Lrhv769nr72vIebcqoKSgTzbNEZpSxW6Pk
- 3Xjb/WaREZ84Or7nvYpayf5JRRA/hTlaKvIUVfRWUNbEb2cOfhu2flw/pef1Qf08CT2t
- n9Gv6KMRvgx0Sc/Cc1Efo0nwsGkh4hKgioMz1E5UY40D4inx8rRbZJH9D0AZ/WYKZW5k
- c3RyZWFtCmVuZG9iago3MiAwIG9iago3MDQKZW5kb2JqCjMzIDAgb2JqClsgL0lDQ0Jh
- c2VkIDcxIDAgUiBdCmVuZG9iago3MyAwIG9iago8PCAvTGVuZ3RoIDc0IDAgUiAvTiAz
- IC9BbHRlcm5hdGUgL0RldmljZVJHQiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl
- YW0KeAGFlE1IFGEYx/+zjQSxBtGXCMXQwSRUJgtSAtP1K1O2ZdVMCWKdfXedHGenmd0t
- RSKE6Jh1jC5WRIeITuGhQ6c6RASZdYmgo0UQBV4itv87k7tjVL4wM795nv/7fL3DAFWP
- Uo5jRTRgys67yd6Ydnp0TNv8GlWoRhRcKcNzOhKJAZ+plc/1a/UtFGlZapSx1vs2fKt2
- mRBQNCp3ZAM+LHk84OOSL+SdPDVnJBsTqTTZITe4Q8lO8i3y1myIx0OcFp4BVLVTkzMc
- l3EiO8gtRSMrYz4g63batMnvpT3tGVPUsN/INzkL2rjy/UDbHmDTi4ptzAMe3AN211Vs
- 9TXAzhFg8VDF9j3pz0fZ9crLHGr2wynRGGv6UCp9rwM23wB+Xi+VftwulX7eYQ7W8dQy
- Cm7R17Iw5SUQ1BvsZvzkGv2Lg558VQuwwDmObAH6rwA3PwL7HwLbHwOJamCoFZHLbDe4
- 8uIi5wJ05pxp18xO5LVmXT+idfBohdZnG00NWsqyNN/laa7whFsU6SZMWQXO2V/beI8K
- e3iQT/YXuSS87t+szKVTXZwlmtjWp7To6iY3kO9nzJ4+cj2v9xm3Zzhg5YCZ7xsKOHLK
- tuI8F6mJ1Njj8ZNkxldUJx+T85A85xUHZUzffi51IkGupT05meuXml3c2z4zMcQzkqxY
- MxOd8d/8xi0kZd591Nx1LP+bZ22RZxiFBQETNu82NCTRixga4cBFDhl6TCpMWqVf0GrC
- w+RflRYS5V0WFb1Y4Z4Vf895FLhbxj+FWBxzDeUImv5O/6Iv6wv6Xf3zfG2hvuKZc8+a
- xqtrXxlXZpbVyLhBjTK+rCmIb7DaDnotZGmd4hX05JX1jeHqMvZ8bdmjyRzianw11KUI
- ZWrEOOPJrmX3RbLFN+HnW8v2r+lR+3z2SU0l17K6eGYp+nw2XA1r/7OrYNKyq/DkjZAu
- PGuh7lUPqn1qi9oKTT2mtqttahffjqoD5R3DnJWJC6zbZfUp9mBjmt7KSVdmi+Dfwi+G
- /6VeYQvXNDT5D024uYxpCd8R3DZwh5T/w1+zAw3eCmVuZHN0cmVhbQplbmRvYmoKNzQg
- MCBvYmoKNzkyCmVuZG9iago4IDAgb2JqClsgL0lDQ0Jhc2VkIDczIDAgUiBdCmVuZG9i
- ago0IDAgb2JqCjw8IC9UeXBlIC9QYWdlcyAvTWVkaWFCb3ggWzAgMCA2MTIgNzkyXSAv
- Q291bnQgMSAvS2lkcyBbIDMgMCBSIF0gPj4KZW5kb2JqCjc1IDAgb2JqCjw8IC9UeXBl
- IC9DYXRhbG9nIC9PdXRsaW5lcyAyIDAgUiAvUGFnZXMgNCAwIFIgL1ZlcnNpb24gLzEu
- NCA+PgplbmRvYmoKMiAwIG9iago8PCAvTGFzdCA3NiAwIFIgL0ZpcnN0IDc3IDAgUiA+
- PgplbmRvYmoKNzcgMCBvYmoKPDwgL0NvdW50IDAgL0Rlc3QgWyAzIDAgUiAvWFlaIDAg
- MTQ0IDAgXSAvVGl0bGUgKENhbnZhcyAxKSA+PgplbmRvYmoKNzYgMCBvYmoKPDwgL0Nv
- dW50IDAgL0Rlc3QgWyAzIDAgUiAvWFlaIDAgMTQ0IDAgXSAvVGl0bGUgKENhbnZhcyAx
- KSA+PgplbmRvYmoKNzggMCBvYmoKPDwgL0xlbmd0aCA3OSAwIFIgL0xlbmd0aDEgOTA5
- NiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAG9Wgl4VEW2PnXX3tK53el9
- v7np7uwrCTQJpA1JSFgiEMQECSaBQIIwBsSM8ISJCigRGQVZlBmVUZFVmoDSwMAwPhhk
- ngtuODL6xgVQ5zPPmXkw40jS/c69HaLM5/Pxfc/PrtR2qm7Vqf+cOrUFCADooBtoCM9a
- 0NIJL5AipLyC/visrsW+hz4f/QQAWQNAz5/TOXeB4cN//z0A8xWARjd3/pI5+9v7XwVI
- ZtA3tLe1zP7bW6FMAM8M/L6kHQmaVD4L849iPq19weK76j7kHZiPYn7C/NtntUjpgQiA
- F7+H9AUtd3Wqfqr5J+azMe/7ScuCtrplS3+O+QmYT+28/Y7FZC21A/OdmK/pXNTW+ev7
- flKAeWyPfh1pBJ380wEHBzD2wU2DFIX8/wiowW9pjGVuv/mxmOSULA+qb8jfSqkxrUGv
- Rb6SMNYPlSWDoKQNGBrZ4yCwRyGd7QYHkwdegPh76M/Jceym+EX2FAixBfG/0qVY+5Ds
- qVh5GRyHh2AL7EUetmM6HWbCZjhN5sEhMgMxOEs8kIvyZSAKE+AVEo+/AXPgGay/GF6C
- DbAPeUqHBWDG0rXEH1+K+TCmW2FF/FeQBiNgFRyFELa6FvriO+L7sXQKoroTduH3/0Ek
- ah+TEn8+fh7HPhnbXIElb8QnxPeCEbKhAiYhdQUcI376XLwdbFCK3P0CnoSt8Fv4gtxL
- DsTb413xM/GPgMJSF9SjW0YOkI/ovcyq+C/if47HEIl0yMRem2E9PI3t70V3HEVdRW4j
- i8l6soEKU/dSB5iVrDU2gDhkwFh0NXA7PIAIHIIT8Df4J/mSstECvZg+GS+O/zfKYjyO
- Uh5JG3Shux/dWhzTEcKRfDKGTCLLyKNkA3mLyqRuohqon1J3URfpOnoGvYR+i7mD6WXX
- sJs5bexy/Ej8VPwdsIIbboFFsBxH9xKcgUvwNaGxLRfxk1JSQWai6yZbqENkKzlETSLH
- yRlqJ/kT+YR8Sa5QLKWjzFQWtZhaT+2iXqJeozvoDfRj9J/oy8xolmK3shc4P//HWGts
- dey1eGn8o/hXOGNVIKJkKqAOboUWHG0nDIOf4Sj2oNuLUjsBJ+G04j4hLuiDrxAFIEbi
- IIVkIro6ciOZQzrIE+QwumMKL3+nUBCUmjJQVspF1VOt1AKqm3qH6qaddCY9jp5O70X3
- Mn2WvkJfYVgmhTEzY5laWMMsYB5Ht43ZzvQyr7MhdjRbx05ju9nV7Bp6FvsGe5Zbzq3l
- erkvub/w6fwE/nZ+DUrnNOrsb5U5cDVgSBpyXwg/gVmkkrTCRpTGVtICPahds8kDiFcn
- pMeb6OX0WCofteEY/Btq6+OwDFbTM2Br/A/0TngXNWU+NtgNzzEV4GY3oXTuhXzUokEX
- zsjMSA8G/GlSqujzetwup8Nus1rMphSjQUjSaTVqFc+xDE0RyK6Sqpt9kUBzhAlINTU5
- cl5qQULLtwjNER+Sqq+tE/HJ37Vg0TU1w1hzzr/UDCdqhodqEsFXBmU52b4qyRd5tVLy
- Rcn0yQ2YfqhSavRF+pT0RCX9sJJOwrQo4ge+Klt7pS9Cmn1Vkequ9p6q5sqcbHIojHBo
- crJlwxEGrdxwBMa0LGu3YSTXqIo4pMqqiF3CNJbR/qqW2ZFJkxuqKp2i2Ig0JE1pwD5y
- sjsiyCc8qJstzX4wGobWZjnVMqMhQrc0RqhmuS1DVsQqVUasSy/YvsleTVWt+VZhhPJX
- t7T1VEfCzQ8iuHK2Wc61rMHc+HofNkutbGyIkJWDTMg8zkNOZXbbpCqZr+Z5vohaqpDa
- e+Y1I7gwpaHXEXZUSS2VjRGY1NBrD9uVTE72IdvyUhFHfyjnhpwb5LhUtC1PxJ/el6C/
- eVyObctPfIjx+ClDABC5J6kW+Yz4ZimdSMjsCDloGwE9s0YgTvhrJDjMDuRnTIRCnaH9
- EdZf2xLprr/KRntlgrnmeZW9artDHkNzRSPWb+4RRqKksL4g+XouA4pQ6vviWkrLIIXz
- C5dBLpQFPaQrEdJyNd2lAIOjbrdJ7bJ8uxSZYl6yVX2LgHkZGpnniClSOH5SgxjxNSIh
- ClnZ46OgntSwj5C1jVESXxmFSvchUAN960wszpZVraMS+8dMTjYSMkVM5Wb7qnHU1bKu
- +Hp8PbWze3zVvnZUJsavxFjQ1tOYhwjWNyBOMBV7DDc6h5JtjY0jsZ08uR38BKv3NGIL
- 8wZbwFgh5Q1gpfzs8SiVwKSGyQ2R7kpnJFzZiFJA9T0+qSFyHDW3sRFrFQxxihwv67AN
- 8lyIPBdkYnlRopV6bAObaOzpkdusb5DEyPGeHmePPN8S+SiBfyWEBwlRkKvgwKuipHsS
- fouRJDplgiRKIrLVKGM6DFX6qkZFofj7ES4Z4hu/HI7cligIj/iBEA5dD8Ijrwvh0iFO
- r0G4DHkulREe9eMhPPoahMu/H+HwEN/I5A3IbVhBuOIHQnjM9SBceV0IVw1xeg3C1chz
- lYzw2B8P4ZprEK79foTHDfGNTI5HbscpCE/4gRCeeD0I110XwjcOcXoNwpOQ5xtlhCf/
- eAhPuQbh+u9HeOoQ38jkTcjtVAXhaT8QwjdfD8IN14Vw4xCn1yA8HXlulBG+5cdDeMa3
- EMYNbwUe6s7g2YsGHsqjUJ8VBVUeLn7oVQIeLs+gl/OYpt+PAoMeMM2/D4fxC4BpWYex
- FRbj/IIig2gIoq9g1kb7P2aPfj0myky8sh9rUTA9fo5dyF7A3agH9oVLnewmspGlvcTL
- 3EvuZ1ensPUqepXbYDBzI920bqRZ7aE8HjtdQJUKBQaHT11gt3t9W8V5c2xZWXWXJvbV
- CX+f2HepzxjKg/LyvnI5IfQV5I9ZEh4JLqs/JaD3OwNai7oQkkxCITEakgXehTkW6EJC
- KIbW2HSFkGzEQOXgCglDMMjCHxHKhLKsrEQoE+5pIk0qYpVyiZQKBsFYVDi8ZHgRx3Oi
- LxgwCMNLRInxkGGGl8STve/FLv/1y/fvGOV5ybFub+zdODx/YfdhMjadvRA7d2Ttttjr
- sZOxWOw3Oxof+eyXR7e8SnaTqjMfK/jMir8nn3UgFSR4Izzaya0iKynaTbzsKrLa9aKP
- DauSGbOFFhZYlluoZIshiVmVKhg8KUajmR+ZSptVSSMdaomSJNpjjJLxYYFmCuhSwZ/i
- 8GsKPPY0f5TM3S/O67wGvwGhz3AVQgXDsoEyhRRqIlgQMoYUSLOdIuhcfl+A+HVODSIm
- YsABU0gommW07qRCUHv5QsJSGMA3ICrwyfiB1ZIyBKBYmJYiFosGKYggSldBDNIXN/2x
- 4GTax7tfiX1+kTCnCEvHhlEru/Pb6u77fezKr199+RjJFdlPJt0R+3Dr+thrsTdiX8cO
- fkqoZ/v/6+jtWeN2vE0WkYXnzlCIJ8HTFZB1il5bcT+HSipfj+Rm4V2ArM5UXn5BSpFB
- On36tKymqJ975bsdrK8BE7SEizt0HcYluqVGpsbUYGo3LTUxvMpjEAQN0Sd7CFAaFcUZ
- dYzaZCpgHJZktR/sZkuUaPeLG1YnEB4ok1V0wGC0hlBDZVwRaIxIU0F+U4pYiCcuTkIQ
- IBjASCwsKd5LbTjxl7P/GSs8RXffVXFHbDFZs+o59ugHL++OD6xnDo30xuhFD8tzCe93
- 2LuQVzUE4dGwkU+qJTVsI2lgO9jZprtYleUIHuTt4CSucIUk+gLNxoXGO0200eM1ucy0
- 6LGYmIAxze8BtdrJe7RUwOVU+fxmr99CFyR3OB0ZqoA/qLGnZ5wVNyTmW9nExHAu9b2N
- DsrLysoHEsMJGayhQVUJNaHKZBXkkyaCoxmmjIsWC+WzJcd7iJdYrBarGdUgjwSUQoke
- u+bpRaPmxBynqO3bF7y+oHXazSxPa425lzQ6RsfPDi2NlZ6iXZ3rfhnyxDTU1oKZAyu2
- F0mLuk9Ozag2iSll0y4/XOAc6EFMduL8yUNMzGCBsrBkZYPsCIHWAMWOFNQW2mIxqf06
- h434TXar7SlxwzXz4OoUKEPZEIPJapHneLGhyCDwlOijA3YiksVljW8N3FLw+9pVsTWx
- NStrqTHs0f7FT817as/MJ+k1/adif10X+zvRrCPJdAiVbRjKqAT54eDn4cqHyVOECpOp
- hLIQchd7kVBzmXb2AYa2p1N+I00z4DdyHIvzh+ZoZJlRqaxWB0PRT7BAnuDs/NqZtix7
- nXDJNnEgFMI/e11VW+VFGwqi3FpmDJH7J+Zm3Z9ryxo/ZUlYR/DoTjN430Fx7P2qZcIJ
- JZDlAk0LFy5SU0VEIkQg28jWPw189tbA5+zRK27mk69xQDhHcCWYEn9fudlIxjurMvgg
- PCIzn2gErVPnChbVCB3qeQIfUhl1atpZyKep3YLOXZpF5WaUHiylSgsz/UaBZ1WuYKrV
- FSU9KAq3lw+6c7WUu1hbxpeVuUx8Rub2NMdoZ4ZrXHJwhH3U6F+TTXihc4hshEHrdEmx
- 7+cHTlyVDFp4NPHyZJKVLLcvt09WOtQ9xT6llww3pwKx+0lJsgg2D5ori88kEjEVhlMi
- ONxWkZhFDAZtU8Iu3QNomdIUWY8iepJM0ByZSQlKflhASuU5XhpNimT1NZiwEnahxxUg
- GAjKUaB4WMnwFKJfVHdr40axvXBBa0E9OTDarLtv6UOlomY7+4+nj3bdafXrPIbM7EBT
- pkU9/LW7Nxw9vKnn9enZtdseMbs4fZIrby6Zr8q25cyon5BZ/7stNTWbBza5Uml6pY6r
- kMI18154YMMzKeS8POfx5os+w9SBA5zwXDjvOTvZbNuu2mmjx6kMW0w0beLcDj7JbdI6
- eafTKgSNhA5SBodbE7TaXe4o4feLi5Z9Y/vLJvaFQt+1eg4Du8qvM2sCoE8RAol10445
- XDdFZd3UWpICuG5ioLZxAXndFL9j3VSwBUti1URYEwgWydBRxQIU8dTZT6x7hUXLd4/L
- f2Bd5332vZ6/HHnza2J828XURd6ddd/2BU9tfX/1T985SYou4rXdSOwfauLnGAfeuLnw
- dtZPdOElm1SPOZ7z0qyeSmZNZr0x2WwK68ImVYaDjNe+SJ8iv6NPOf+gek991vsH6TPr
- Z5L2lOGUkZqhYsW05Mct7rQQx/MW0e3iNW6L1s9vcj3nOuh618X4Lcl+F2vX6HiDPpjs
- DrKOYFouH7TbA8G3xW1Ngxb+vLIJeXsAl0lUTXm1zGsa2o1cXUkVBa0GiWFpvM4kLMN5
- cddgFFIEk8BwOn+qMy0APnAHiMettvIB0Jr1AZKklxwiklgMVDbEP0nAQFZfeYMib08w
- lZmVeQ9Z2AQLm5oQanRm0YMaK29P9AT1l1M2LFCkmNtUjifUgbMjSoxC/5fsw5semppv
- 2sffWDBlyQ1TXo79mdg+Jl5t+rg9d29nicSMve2myfPH/erpk00lY0sfyZ3kEtBmcGhZ
- KmKBO6vv3d9D3pdtBUFZAGVl38Rb4InhLN7Nadw0STaFLEmcUWNHI6ZPMmRYjbwxWe/V
- U/p+k91m7xfnLh9EsCl0Ql4TBcWcycskrjPluMIU5BuHlxQV4nIh77o4c5FZMqArLip+
- QSo/YEizuuzaKb7eA70bNrAVw2ZQ1DMUuen5tf2z6V+s3a7YsFGxUvoz1BUv5OArwMHw
- xBJTrapW3aBqVD+g2+Hc7t4R3JZ1yKkNq2hLaob+hCYVzRTDZbjtGqNbk5zL5+ayLjrX
- kpuTwTrydfpg0uhA0GXPy79fXFQxZKVCyhp//jJKf3AfipvRxAYqsXGS0h0erSHNLwQk
- TyAA6Q4MDFq9CMl6XZLfnRogQWcGziedUVSkO7j7ROHecw/OIdw3WYuLDCbcbKYGgkUo
- Ylm8igVKM+A0AsVQKbMLzRah7p5ZVLytrDN2es8X+oNJwVH3vR4O0CWblz0fu0L4w6Ty
- mZ8dq/avv/ulG7NjbzAVo6Ux9/cXvtJ1bsuzNcGyddM+mDLpH8RNkkhubOvx3lsff+Ho
- 3lkrqBzEk8KXDCCluEDI54SSsIu/wKDwOVqjRhmjXmTwNBoO9U6xNQFO2cQTA2UnhsRa
- PhFFKm+4DCjJFQfxx2ReOcsefeVq23QfysqO1m1muOAgd4qjGM7EBU1d3GKeNekok01w
- szxwNq3GwTscoMtQO1wk15ZhB7sTlxlu/zcdDySmZUIiZSgPQyhE5I2sbO5TisxXjbpk
- kLcosp3XE7NBIit2TdjZfn5S9kF3/vJwxrgROc4D5Dkmb/PMKU/e/KuBydTTrWWzkywV
- xQs7Bl5HZhGJ0vh7jIg2WYfvN3Z4OFy0WbVReMzyLLNdtU3YYYmqXla9y1zQf27SjVRx
- bhuvcxu1dt5uN1PBZIdTHTTbHc4oUaNlHrQoiVPNkC4lVAisTECbosbZb6AChLdiik3C
- lMakCwARMFBZ0BDTegwU+yAHWag8aUZlE4bTB62vEY8uFK6HCeP74cr8CYef3bjxaXwk
- 64/944NYPzF+yi0myds2zny0v3fXefpc7IvYpdhA7HmS1Y+LYxg3IrAaFWEdMxYMcGM4
- EKQDScPpsQyjVwmUXm1Q64IqWUQGjcqRQnKFDAPYjSlRUoWiSUx3nNwomos4zSeWnxg4
- IVtMeRGXBTMolqH5bpBW7zI/cxtrcwtO4YF1B5i8QyVbKPoYTe1dNLBZtjvW+JeUmp2O
- yE95ISlXc1xPoqQ87GcsISvN6TUGB+olvkJlgFlvTqa9NEX3W+x2B9qewVVw4Frbk5cw
- Pn3CwHlFU2WLo2wEB9f9QLFsfra/uGtXwFyQ5DF5xwSXT3/kEXZ67J31A1UjUrSEWqtW
- 3TOXOrlesYsY4KtD9Cnrrclll8GQeB793ZWvOJmuxNZYqXLiA9zHy4cT+YcxlxHLwGdc
- 8lVbf5/2kaGSRDlACmuECiqEu8tTMJ0LwSxMn2anwV7MH0C/E9PDmDtgCgNQinENlrsw
- HkVOwQqMZV9K7YTVSLdio8PQnSDzyQpyjppN7aY19NvMNNbHzsf5V8E9wVv4GfxuhYsU
- fGej4Tac/xS+3QponID/TKPD91WZe4KvnolRcPLL7rS62mnjpmfVtM3valvcMasFa8jn
- MvzF2/Dd8bt+KUikIYDvVNlo2Irx/TUElVCNr5m1MA5fLCcrb5Y3J+4oavGeohx9Mfqs
- rBts0E22wcPon0JPQwd5EJagX43+MfTMUGoH5g6RB3sZVfgwWQIOMi6sZbxTTXavTaP1
- vomm5MAT3vdsnxzBA1QSfETsvUmgvkGDG/gnYTZ4ybO481iKPKWTx/dnzPc2Y9EO6ETf
- jZ5WQkJ29HoKvcdINvhxG+4lAfAw5EXvpwU53gsFUYr0el8KRhmMfuvBXDjZe9z9hPc3
- 7rneY+h3JYp2ZmCNF7073PO96z1R8nivdx3u4vCbRxLRnW789EXvgoyN3tkFSvmEjVFq
- V683hOXTwlpvyQjRW+w+780LRlUE8znuCd7Mgle9afghVvNho/6wwetyr/eOxCKPuyo4
- Ev0RspNsgUyypdc/znsYkzjc/bUZIzZGyb/tr0kvwGuEpeGSmvSNGTVBf8YErz+jOhjE
- 9LSX+RX8LfwNfCGfhY+cAV7knbxJZVQJKr1Kp9KoVCo+Snb3lnu5I2QXlCMsu/arOBUb
- Jc8jkTlC9ijEPQdVjIpSgcoUjX+IB10CpijZdQBVigAmXuSUFBcle/BeSSbtCcv/Q0GA
- UQoE1DI8nqMqoTJSREWh6kTIQ1EOVlq6ym3lxtGGUHXl/xY0KyVXQ8WOfndgI+7IRnzP
- iOx0N+LTESbi7sarVXF38H/8Ft+JFdoqsuTz2v6uznlzlKcwqaqtGV/EIg924dNkd6vP
- t29e5+A7X6C5dVa7/BbT0hbplNoqI/OkSt++LuU7mfyt4jlycZdUuQ/mVE1t2Dcn3FbZ
- 2xXuqsKnrsb9rRWLmq7pa/VQX4sqvqOvCrmxRXJfrcp3/9JXk1zcKvfVJPfVJPfVGm5V
- +pIhqOqor7hjMWonPpfhc1V6faR28vQGfBVurIySbfIb2p3wPzSFGkkKZW5kc3RyZWFt
- CmVuZG9iago3OSAwIG9iago1OTc1CmVuZG9iago4MCAwIG9iago8PCAvVHlwZSAvRm9u
- dERlc2NyaXB0b3IgL0FzY2VudCA3NzAgL0NhcEhlaWdodCA2ODQgL0Rlc2NlbnQgLTIz
- MCAvRmxhZ3MgMzIKL0ZvbnRCQm94IFsxMSAtMjIxIDcwMyA3MzddIC9Gb250TmFtZSAv
- Vk5JVkpaK0hlbHZldGljYSAvSXRhbGljQW5nbGUgMCAvU3RlbVYKMCAvTWF4V2lkdGgg
- MTUwMCAvWEhlaWdodCA1MTMgL0ZvbnRGaWxlMiA3OCAwIFIgPj4KZW5kb2JqCjgxIDAg
- b2JqClsgMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw
- IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAKNzIyIDAgMCAwIDc3OCAwIDI3OCAwIDAg
- MCAwIDAgMCA2NjcgMCA3MjIgMCAwIDcyMiA2NjcgMCAwIDAgMCAwIDAgMCAwIDAgMAo1
- NTYgMCA1MDAgMCA1NTYgMjc4IDU1NiAwIDIyMiAwIDAgMCAwIDU1NiA1NTYgMCAwIDMz
- MyAwIDI3OCBdCmVuZG9iagozNCAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAv
- VHJ1ZVR5cGUgL0Jhc2VGb250IC9WTklWSlorSGVsdmV0aWNhIC9Gb250RGVzY3JpcHRv
- cgo4MCAwIFIgL1dpZHRocyA4MSAwIFIgL0ZpcnN0Q2hhciAzMiAvTGFzdENoYXIgMTE2
- IC9FbmNvZGluZyAvTWFjUm9tYW5FbmNvZGluZwo+PgplbmRvYmoKMSAwIG9iago8PCAv
- VGl0bGUgKFVudGl0bGVkKSAvQXV0aG9yIChKZWZmcmV5IE92ZXJiZXkpIC9DcmVhdG9y
- IChPbW5pR3JhZmZsZSkgL1Byb2R1Y2VyCihNYWMgT1MgWCAxMC41LjggUXVhcnR6IFBE
- RkNvbnRleHQpIC9DcmVhdGlvbkRhdGUgKEQ6MjAwOTEwMTQyMTQ5NThaMDAnMDAnKQov
- TW9kRGF0ZSAoRDoyMDA5MTAxNDIxNDk1OFowMCcwMCcpID4+CmVuZG9iagp4cmVmCjAg
- ODIKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDQ0MDAxIDAwMDAwIG4gCjAwMDAwMzcw
- ODkgMDAwMDAgbiAKMDAwMDAwMTI3MyAwMDAwMCBuIAowMDAwMDM2OTI2IDAwMDAwIG4g
- CjAwMDAwMDAwMjIgMDAwMDAgbiAKMDAwMDAwMTI1MyAwMDAwMCBuIAowMDAwMDAxMzc3
- IDAwMDAwIG4gCjAwMDAwMzY4OTAgMDAwMDAgbiAKMDAwMDAwMTY3MyAwMDAwMCBuIAow
- MDAwMDAxOTY0IDAwMDAwIG4gCjAwMDAwMDM2MTggMDAwMDAgbiAKMDAwMDAwNDE3NSAw
- MDAwMCBuIAowMDAwMDAzMzA2IDAwMDAwIG4gCjAwMDAwMDM1OTggMDAwMDAgbiAKMDAw
- MDAwMTk4NCAwMDAwMCBuIAowMDAwMDAyNTQxIDAwMDAwIG4gCjAwMDAwMDQ0ODAgMDAw
- MDAgbiAKMDAwMDAwNDc3MiAwMDAwMCBuIAowMDAwMDA1MzY5IDAwMDAwIG4gCjAwMDAw
- MDU5MjYgMDAwMDAgbiAKMDAwMDAwMjk5NCAwMDAwMCBuIAowMDAwMDAzMjg2IDAwMDAw
- IG4gCjAwMDAwMDQ3OTIgMDAwMDAgbiAKMDAwMDAwNTM0OSAwMDAwMCBuIAowMDAwMDA1
- OTQ2IDAwMDAwIG4gCjAwMDAwMDYyMTIgMDAwMDAgbiAKMDAwMDAwMjU2MSAwMDAwMCBu
- IAowMDAwMDAyOTc0IDAwMDAwIG4gCjAwMDAwMDQxOTUgMDAwMDAgbiAKMDAwMDAwNDQ2
- MSAwMDAwMCBuIAowMDAwMDA2MjMxIDAwMDAwIG4gCjAwMDAwMDY2NDQgMDAwMDAgbiAK
- MDAwMDAzNTkzOCAwMDAwMCBuIAowMDAwMDQzODI2IDAwMDAwIG4gCjAwMDAwMzI5NDAg
- MDAwMDAgbiAKMDAwMDAxOTQ2NSAwMDAwMCBuIAowMDAwMDIwNTY4IDAwMDAwIG4gCjAw
- MDAwMzQzNjIgMDAwMDAgbiAKMDAwMDAyMzc1OCAwMDAwMCBuIAowMDAwMDI2OTA3IDAw
- MDAwIG4gCjAwMDAwMzUwNzMgMDAwMDAgbiAKMDAwMDAxMjA3NiAwMDAwMCBuIAowMDAw
- MDE1MTUxIDAwMDAwIG4gCjAwMDAwMjY5MjggMDAwMDAgbiAKMDAwMDAyODAzMSAwMDAw
- MCBuIAowMDAwMDA2NjY0IDAwMDAwIG4gCjAwMDAwMDc3NjcgMDAwMDAgbiAKMDAwMDAw
- Nzc4NyAwMDAwMCBuIAowMDAwMDEwOTM2IDAwMDAwIG4gCjAwMDAwMzM2NTEgMDAwMDAg
- biAKMDAwMDAxMDk1NyAwMDAwMCBuIAowMDAwMDEyMDU2IDAwMDAwIG4gCjAwMDAwMTUx
- NzIgMDAwMDAgbiAKMDAwMDAxNjI3NSAwMDAwMCBuIAowMDAwMDE2Mjk1IDAwMDAwIG4g
- CjAwMDAwMTk0NDQgMDAwMDAgbiAKMDAwMDAyMDU4OCAwMDAwMCBuIAowMDAwMDIzNzM3
- IDAwMDAwIG4gCjAwMDAwMjgwNTEgMDAwMDAgbiAKMDAwMDAyOTE1MCAwMDAwMCBuIAow
- MDAwMDI5MTcwIDAwMDAwIG4gCjAwMDAwMzIyNDUgMDAwMDAgbiAKMDAwMDAzMjI2NiAw
- MDAwMCBuIAowMDAwMDMyOTIwIDAwMDAwIG4gCjAwMDAwMzI5NzcgMDAwMDAgbiAKMDAw
- MDAzMzYzMSAwMDAwMCBuIAowMDAwMDMzNjg4IDAwMDAwIG4gCjAwMDAwMzQzNDIgMDAw
- MDAgbiAKMDAwMDAzNDM5OSAwMDAwMCBuIAowMDAwMDM1MDUzIDAwMDAwIG4gCjAwMDAw
- MzUxMTAgMDAwMDAgbiAKMDAwMDAzNTkxOCAwMDAwMCBuIAowMDAwMDM1OTc1IDAwMDAw
- IG4gCjAwMDAwMzY4NzAgMDAwMDAgbiAKMDAwMDAzNzAwOSAwMDAwMCBuIAowMDAwMDM3
- MjE1IDAwMDAwIG4gCjAwMDAwMzcxMzcgMDAwMDAgbiAKMDAwMDAzNzI5MyAwMDAwMCBu
- IAowMDAwMDQzMzU4IDAwMDAwIG4gCjAwMDAwNDMzNzkgMDAwMDAgbiAKMDAwMDA0MzYw
- MCAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDgyIC9Sb290IDc1IDAgUiAvSW5mbyAx
- IDAgUiAvSUQgWyA8YzAyMjlmN2E0ZWQyMTQxYmVhMzAxMzBhYmNkYTQyNGM+CjxjMDIy
- OWY3YTRlZDIxNDFiZWEzMDEzMGFiY2RhNDI0Yz4gXSA+PgpzdGFydHhyZWYKNDQyMTAK
- JSVFT0YKMSAwIG9iago8PC9BdXRob3IgKEplZmZyZXkgT3ZlcmJleSkvQ3JlYXRpb25E
- YXRlIChEOjIwMDkxMDE0MjE0MDAwWikvQ3JlYXRvciAoT21uaUdyYWZmbGUgNS4yKS9N
- b2REYXRlIChEOjIwMDkxMDE0MjE0OTAwWikvUHJvZHVjZXIgKE1hYyBPUyBYIDEwLjUu
- OCBRdWFydHogUERGQ29udGV4dCkvVGl0bGUgKFVudGl0bGVkKT4+CmVuZG9iagp4cmVm
- CjEgMQowMDAwMDQ2MDA4IDAwMDAwIG4gCnRyYWlsZXIKPDwvSUQgWzxjMDIyOWY3YTRl
- ZDIxNDFiZWEzMDEzMGFiY2RhNDI0Yz4gPGMwMjI5ZjdhNGVkMjE0MWJlYTMwMTMwYWJj
- ZGE0MjRjPl0gL0luZm8gMSAwIFIgL1ByZXYgNDQyMTAgL1Jvb3QgNzUgMCBSIC9TaXpl
- IDgyPj4Kc3RhcnR4cmVmCjQ2MjAyCiUlRU9GCg==
- </data>
- <key>QuickLookThumbnail</key>
- <data>
- TU0AKgAAEGSAACBQOCQWDQeEQmFQuGQ2HQ+IRGJROKRWLReMRmNRuOR2PR+QSGRSOSSW
- TSeUSmVSuWS2IAGBgIZTMaBmbBp/zmMgGeQR/zwAv+Bv6gS6jUekUmOzmhTGmTCBUGdR
- iiwOfzymgCiT2lV2KAKBgYUWNBlyzFsLWkMyCi0wAF24AADXMAAK7V68Xm9St/X0APrA
- ABTYOtX63SC7WC+v4AF7HAAC5G63e95WCAaBhEpZtRq3PEWUIvRAAr6UAA3UZDJZaO0X
- EgAB7EAATaZOwazcR/APoAPHfABYcEAGXiSlEccAFvlAAGc3VAXcxui7EBgCi5Hoa+Fg
- uBhwl99Xd8liegdWP1WBgf1dae+jo9Kevj5cnlgj7bb3/mKPb+AByv+ABSwEACbLWw7z
- q49L1qK9z9Iuor+HsxrHvUA78IOB6BhCzYpEyzxWhtB0RIiSMSgALUUAAB8VrkukRxeh
- J5xkABwRqABfRwAA3x3GEeoURsgQmLwAAhIrnoQCCBhLDhLQ+GkfSggpBymAAsysAANS
- yAAFS5KMoHlMAAG3MYAGFMwADjNMvTWP02gAL84QIm0ty6g8koEE8mQ+GSWG7P06AUAB
- 60G07UzGbYAB5RQAGBRoACBSAAF/ScaRs6gACNTIAGrTlKnAAAo1CAAJVIlo91OAAsVU
- AAP1bQoGvYqE1v1MB5AAbVcTLM45V4ipiV/RNF1+YiC0UHlPAAXdlUA+gtoSW1oAAJVp
- oaflrAAc9sgADtuRjGdagADdxJKOlygAMF0VZVzUVhOyBhNDhLz2lkzGFUdSnXfIAAvf
- lJUoNeAAAS2BtI0xa4O/0AB9hcxTJCoAYWHwAHFigABzi6WjxjWCiuAAR4/V9Y1m6K3R
- keYAG5lNGUdXg5IqSuYABgA1gBmBKoLmYAGPnYAHRnwAHJoIAB3olN06DmkAAXGl0xTU
- /G6AAiakABg6rfd+1wbQAAxrmRHhr4ABdsQAGzsrYNkEu07Js18nWAFyjoio4bmAAw7s
- AAQ7yAAHb4hAI3fPTPT4lZo8KAGTABtoABvxgAFfx+ZYDlJuAA0RFgARXMgAR/OAAK3P
- gBpAOABg5agAGPUAAT/VgARPXJaO/Y45j2Qb4B2RZG3C3XBp+VmAAGWorgZLAANPjYFg
- iCZznZj4nipx+gAAE+nLEtH764AQiAGHmH7vT9TdAwAB3pn/KwrGWsfgAH39gACH94AF
- B+XgV6VP7ZCdv8gANX+blujdgwt4b07ZvzgDNpNcESwtwuoGGzNq+8IYABlwTAADWCxB
- RYwZAAE+DkEoKQWBqQUXMI1sLaBVCcAANoVOwdkaVjrHwRt7b6g13Jendphd6o137wSK
- P5HaACEYuQAA9iIz1n8IGgNCNoAR9b7VwDQig4txqgx6gAHVFcAA7ItPfBiACKA0GotT
- cKNEv5gQFxnRUiwEEa4PDLYgwwa0cWjDVAAMqOwAESiRf8HBurd28ghhk7cg7fyBLwgO
- vOGqL3Yh3dnDCQLuJEl7huraHLLFeyRJLDoAAHpOAABFJ+PcfYAx/keu6Qq8ZESYP0xo
- PEjWQLskhKova4HJu+foy6WR+m5x8gBAKQEBEMIaCRMMSYTpjA4MSARA5uX2D7SOXodM
- 0TmHOOaAw/A35sInRTJwDzIYaS5K64hGqn4gxpQyYuLMW1LpFTuXmZszzomuLu2UbMol
- 1AfmnNYg8+ksEDBEcQMoh0sgaBgPmgx+VOR0BXQsvbXx4AAXBI57QOKKAAJmnxAr0nqE
- YnQ9cfr5wAFumWfg16lztSRe0tkc8tlDsiYoOIABaQLAAPsAgvdCQAULBWbgoqXFAr8A
- vPcADaQStba69MBJCELECnaBUQFTxKgwqkD59J+WsgABNVk/MSzem/AnV9ba3YrjqaG0
- U7EDomEMo9GU3go63VopCTotyDCezoCrXdFpmFLkkNfPIsE3yHVVmiOkAAzrDAAooDgA
- AvbGPbPWped576r1ZBNTwnpczMIrQzV8CdMS0zmngQU272yBgMEvacUMEAkzoPeO61y9
- wJH5New+nwAIzncpUAACNu3xp/tcO5poRnsn9nHbaNFNW3rmnZXErJBii0GHzVirTD69
- kjNfVwswXEjjSu47SGNZz5D4V0vZi4OQAD3vRY5C1mgAD0vdcNCRu6QWtteqS2JrK/U0
- PvUi4x3LMIXIVaMAYp8CCqChgcKFIzWP2FS7M99dCYUmLvScgRbmfDoTkWtes6R2AAh9
- f1lDKk2h+R8KTE0YQiM6Z5X0noL8XW6t4W69hCKOvYnRSIqZ0cGYOniT01+P8JmUImh8
- VqHApIiGvkkAAKcmTgIbFQAEGRY4cAAJzKwAAm5ZAAIXLmJcTsPqvRlcQGwABHzNk4iG
- SRr5Lybmgh2RMjIid7I7NxDS3G+Hjb1qGO3MiKI7fK/98jLouIvW4Ud0rKgk0VjBv+FM
- 6kNzmyDR5C84IcREYMU02gtaTIXJMAA3tQAAwIKdzDmiOM2cizTVDymAkYFFq8AEawQA
- ALGCgAAFNcYA04QvTGmtdkJ0qZtER/xyrhXHr8g+dzf6gG8AAVGz9S5+I5acS7xXj7Up
- AznV2sFuAdzYCkAAFdxNnPNsghOxNjZk3MQXYOR0HPlGfFzdZBdlZ52Zs7aGfSOrQFtR
- BMKl6x6pIzq8UVYdvZM3BuICu5N5kI3hvLhpAt26XMIijTfEbmVd3tqHZ4qNokhrXdUj
- 3BODbf3DuPkXGDBcVRTxjiaDnESw4xvXT/HN86mRhyTbvJuFcM5UQPmJqeXIfzig4ZvR
- wAAz6VyrT299R8fR7ySbnPNx6O4x0cZvSel9DM90U3PT7fyelAEnsm8y3XuHoAAcPawA
- cks5Wy+ZF+grtIvSU2TDwdd50RozXW8xO9/pBwhYKx9OblAFpgVUxgnYJxyRa/Kl6udW
- IWMXykXoohC8xybjD2rBtrnrNgb7iV9XywUQ8anpwAAs9URms97HRAABP7GTcnYCeSIl
- WutdVccXNIrkAsHkcg2jIcLP4nGgABB+RunOtowE9kCSKAKn0QnRLMwggmHaFm1576Qh
- oI5INwdGN+G9R+b84sVkRa+TiOAuKyh7rxpERzfxeqBoit+b+X2s9TP/FyCMVrugAAx2
- q49KI0KK+wOUWcv+9sIKWG4+yklissJg99AeIO+q1ucYBuFrAuBUOpAqI6NeygqISPAU
- dy/M4YLgC6+1BG06J0vkvQHuAAvC7gtYIu0ihiIw7sOquQv4uRBUIc/+7Cy4EKv0ptBm
- I8Ne+w9iBOrhB6TWOmNkNeMcSGrO9s7oA8Q4E2Q+vM5+Jajy+ygIv+I4rXCK4yIw46VS
- VWKoQSIFAksAIq+w+6WSWWDbDnC2JcEdDuSEkfDAIMnaBGlQM8hDDqJXCC18a4Awo0qS
- RE86qAR8XA3uk0l3EEJYEDEpDzEYtqlMAABIQ4EwQ+BmJQ7mI6/+Yeqqqq/+xmIGe0q5
- D2JED7FdDOCw5KlhDaL0jsGUhShWR6cQpak0h4IWnerW/4I2+wKKtuIbFGPWJAnerOI4
- DtGcTeTiVanwmqSQIGTykOgSJGFVG3EQAAoc++CehKpW56XAtrBcqEFvHS7EBERuRy/+
- 0UBIAAjiGsAAB/Hs5q2a7CDPH2rgJAlYlchjFnDUNw164tEaTCquw3F8INDgOCFgSOru
- CqisiwzGAA/iHMdCaSd7CS/GkWYsYwygVCCiAA9BIs/lG/BC52e0KLDMf4DUVuVyhOBV
- Jga0cQ52cQ8EGnJ0/mAA7eIREil6lImAIMkIqwcCFacGJEEzKWABH2DOvavexMFIkevl
- HgABKlBgPmfkFAAArW7+E6AA/cKEt2b/GpIuAAuyAA0MAA+c1ijYJBI8hcu8kfFoLzHO
- v4RE08kqh2kuIOQ/HrHuuWqulqty7WHDFwRCpwv4eCeC8EIJJLG/HsB+5MaqGCcORmlg
- iQ6wxAbEBdHkjk7Clgwu5O4WtrBCeYAADdNUITKAj8gGb6kGgMCkgRKQJIFpNuw8f0II
- //HPEMAAmGCQAAE9OG/y+yIIcsikBuAA9OGof2f6IIGTOjOW9Qd6CnOs61E/LghaNMkc
- gJLqLwF5PCxQRHL0T/F7L6IMzwAA2wv/LaRwF8tArXBDMMl8sQoqeHOdJfC7IEJhGkrg
- /CGNG8bA56k/HZDg1wApK6ew56rPPoNeplKyvEXAcQDZQrNYf/Ncl/NhKJNlNpKSJKqq
- q4II5CNkIInQnRREI3GWNWJPLjO4dqhnIGNZG2FUc8dBLyJ0d5PMkslwIWnQwhQUo+5T
- N2oOYeIpGQqWIGqq0cNermJ7RI3KIc3u4e6miRJ/QwlHNekFQ4lPGxNrEkJTRchfRgdv
- O/TAIlPKahPPR7TOJNNbSzQ1S2IKnakMCkXlGzTaJLH+VVFjQKm9RkLycQgmjdAu4ZGE
- NzEc1DPelvTyJPEiDFUhLc1nKGIKQyIEBBCSD6ggCIOwAerXUaIbDgYfQguQnQl653P4
- IzROMM/eII/KyEIEu4GkYS2LPVOASISMPe+wuKx3HPBjDhGpLJVAIarOv5HOoA5LGoIO
- O4IELXUueMDSEQ1kBm//WGIWqq+w7fPovKgqguoG74IonQne5I9wewIQ8gNrBO+0yhDM
- 7fJERGty//RoyolgXBVTWsIUuREY9ekdQhLwIMOgIFUsVGOOEQEwhUBsCCqrXwIiNeuQ
- v+/xUHPG//GpFQIEcUvY+wQEFKABDmDaIiE3ZCAAPExAv/YKAA7yB0jeYkIwUvCcOqNe
- vknfGMIJNGtqlrPpMkz0pAyhU/YYIWKKq5GouW7elhRStEIHYCekysE4FIUyCMCXZ9Z+
- IaNev+v/GMq4rWtyi/HBJpNyh+cRP9EI6nDHVdIHEYrPaOJCvzT4vgABAYp0nzSDM/Ho
- aIB24Yv+nee1BiqralamIOvyrOtoS7CnVgIQVkAEwYFXJECjAHb+IVVer/UAIUpazUxC
- cpQA5MSmEGy9KmxcBevGSPEYUgCAZDCYLdVWMYJ9VbcfcBIHDZcmIa5fdaKRHOGZduAA
- //UWnRZOR7Kw/wIJWEYeovdozddneKKS5olrXm30IoWUF2AA86WmCUtgJLLWkcsperCZ
- eQdzePe4KM6a1C6feaIecUsYF6AA+iCpcuABcy523vJkWRKtW4IY5JP81rNI+3e+lVe9
- f2gUJ1PU3vDNfIIc+wnLLaFZgSosJmAA4enfcGUCrXfUIa50W68E57SHf8kjf7g0JS5p
- gE5u2kImnKw+8UAA341oLG4zP8dLOTE00Xfq25gsybgxRLg7f46I0thvf+KFgC5s49gI
- RHgq4Pho5Rhth2kTg5iQJJg/h+6g5zhliI4TiNSjiWZHiVisJDfC2ax3d7ig4LP88FQR
- f1iyShZDZDenepjKJMLcioADIuwGwIAWmaAIQiADb8K7YcPudsH9OAHnGkH4nYH/e3jX
- kLTaVkpsIEqCIFHiIEnwIEvuMgIG/PfBSUIGVsIFIwIEURkyIGzzkNlBe5AqUCIE4Xkg
- IHlINmMtdUvPk8IGw6IEoeIEujlDlrdaVlaVkStIIErSOsMsKzlYvFlmIGN4IFlZltmR
- eK+EJiQdmOKHmSP0ICAADwEAAAMAAAABAIIAAAEBAAMAAAABADoAAAECAAMAAAAEAAAR
- HgEDAAMAAAABAAUAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAESAAMAAAABAAEAAAEV
- AAMAAAABAAQAAAEWAAMAAAABAPwAAAEXAAQAAAABAAAQXAEcAAMAAAABAAEAAAE9AAMA
- AAABAAIAAAFSAAMAAAABAAEAAAFTAAMAAAAEAAARJodzAAcAAAOsAAARLgAAAAAACAAI
- AAgACAABAAEAAQABAAADrGFwcGwCAAAAbW50clJHQiBYWVogB9kACgAMAAoAKQAcYWNz
- cEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1hcHBs9W8oikkx
- pnDACJ6e6PewzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOclhZWgAAASwA
- AAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAAAXwAAAAs
- clRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAAwbmRp
- bgAAAggAAAA4ZGVzYwAAAkAAAABiZHNjbQAAAqQAAAC6bW1vZAAAA2AAAAAoY3BydAAA
- A4gAAAAkWFlaIAAAAAAAAHcwAAA/RAAAApdYWVogAAAAAAAAWREAAKz2AAAWm1hZWiAA
- AAAAAAAmlgAAE9wAALnzWFlaIAAAAAAAAPPYAAEAAAABFghzZjMyAAAAAAABC7cAAAWW
- ///zVwAABykAAP3X///7t////aYAAAPaAADA9mN1cnYAAAAAAAAAAQHNAABjdXJ2AAAA
- AAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAQAA0IIAAAAAAAEAAAAA
- 0IIAAAAAAAEAAAAA0IIAAAAAAAEAAG5kaW4AAAAAAAAAMAAAo0AAAFeAAABLAAAAnAAA
- ACa3AAASmwAAUEAAAFRAAAI1wwACNcMAAjXDZGVzYwAAAAAAAAAIRGlzcGxheQAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1sdWMAAAAAAAAABQAAAAxlblVTAAAADgAA
- AExmckZSAAAAMAAAAFpqYUpQAAAAEgAAAIppdElUAAAADgAAAJxlc0VTAAAAEAAAAKoA
- RABpAHMAcABsAGEAeQBNAG8AbgBpAHQAZQB1AHIAIABkAGUAIAB0AHkAcABlACAAaQBu
- AGMAbwBuAG4AdU4NZg4wbjDHMKMwuTDXMOwwpABNAG8AbgBpAHQAbwByAFAAYQBuAHQA
- YQBsAGwAYQAAbW1vZAAAAAAAADaYAAADAFFUnuTGMQ+AAAAAAAAAAAAAAAAAAAAAAHRl
- eHQAAAAAQ29weXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDA5AA==
- </data>
- <key>ReadOnly</key>
- <string>NO</string>
- <key>RowAlign</key>
- <integer>1</integer>
- <key>RowSpacing</key>
- <real>36</real>
- <key>SheetTitle</key>
- <string>Canvas 1</string>
- <key>SmartAlignmentGuidesActive</key>
- <string>YES</string>
- <key>SmartDistanceGuidesActive</key>
- <string>YES</string>
- <key>UniqueID</key>
- <integer>1</integer>
- <key>UseEntirePage</key>
- <false/>
- <key>VPages</key>
- <integer>1</integer>
- <key>WindowInfo</key>
- <dict>
- <key>CurrentSheet</key>
- <integer>0</integer>
- <key>ExpandedCanvases</key>
- <array>
- <dict>
- <key>name</key>
- <string>Canvas 1</string>
- </dict>
- </array>
- <key>Frame</key>
- <string>{{165, 46}, {710, 700}}</string>
- <key>ListView</key>
- <true/>
- <key>OutlineWidth</key>
- <integer>142</integer>
- <key>RightSidebar</key>
- <false/>
- <key>ShowRuler</key>
- <true/>
- <key>Sidebar</key>
- <true/>
- <key>SidebarWidth</key>
- <integer>120</integer>
- <key>VisibleRegion</key>
- <string>{{-108, -201}, {575, 546}}</string>
- <key>Zoom</key>
- <real>1</real>
- <key>ZoomValues</key>
- <array>
- <array>
- <string>Canvas 1</string>
- <real>1</real>
- <real>1</real>
- </array>
- </array>
- </dict>
- <key>saveQuickLookFiles</key>
- <string>YES</string>
-</dict>
-</plist>
diff --git a/org.eclipse.rephraserengine.doc.isv/images/architecture.png b/org.eclipse.rephraserengine.doc.isv/images/architecture.png
deleted file mode 100644
index 46d2dfd..0000000
--- a/org.eclipse.rephraserengine.doc.isv/images/architecture.png
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.rephraserengine.doc.isv/plugin.xml b/org.eclipse.rephraserengine.doc.isv/plugin.xml
deleted file mode 100644
index 8b546a7..0000000
--- a/org.eclipse.rephraserengine.doc.isv/plugin.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
- <extension
- point="org.eclipse.help.toc">
- <toc
- file="toc.xml"
- primary="true">
- </toc>
- <toc
- file="tocconcepts.xml">
- </toc>
- <toc
- file="tocsamples.xml">
- </toc>
- </extension>
-
-</plugin>
diff --git a/org.eclipse.rephraserengine.doc.isv/toc.xml b/org.eclipse.rephraserengine.doc.isv/toc.xml
deleted file mode 100644
index 4be38b8..0000000
--- a/org.eclipse.rephraserengine.doc.isv/toc.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Rephraser Engine Plug-in Developer Guide">
- <topic label="Concepts">
- <anchor id="concepts"/>
- </topic>
- <topic label="Samples">
- <anchor id="samples"/>
- </topic>
-</toc>
diff --git a/org.eclipse.rephraserengine.doc.isv/tocconcepts.xml b/org.eclipse.rephraserengine.doc.isv/tocconcepts.xml
deleted file mode 100644
index c00f10d..0000000
--- a/org.eclipse.rephraserengine.doc.isv/tocconcepts.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Concepts" link_to="toc.xml#concepts">
- <topic label="Introduction" href="html/concepts/introduction.html" />
- <topic label="Contributing Refactorings" href="html/concepts/refactorings.html" />
- <topic label="Contributing a Virtual Program Graph" href="html/concepts/vpg.html" />
-</toc>
diff --git a/org.eclipse.rephraserengine.doc.isv/tocsamples.xml b/org.eclipse.rephraserengine.doc.isv/tocsamples.xml
deleted file mode 100644
index 186714f..0000000
--- a/org.eclipse.rephraserengine.doc.isv/tocsamples.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Samples" link_to="toc.xml#samples">
- <topic label="Samples" href="html/samples/samples.html" />
-</toc>
diff --git a/org.eclipse.rephraserengine.examples.text/.classpath b/org.eclipse.rephraserengine.examples.text/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/org.eclipse.rephraserengine.examples.text/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.rephraserengine.examples.text/.project b/org.eclipse.rephraserengine.examples.text/.project
deleted file mode 100644
index f7022ac..0000000
--- a/org.eclipse.rephraserengine.examples.text/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.rephraserengine.examples.text</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ae5ef98..0000000
--- a/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,266 +0,0 @@
-#Wed Oct 14 16:59:49 CDT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=20
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=18
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=20
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=1
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=do not insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=100
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 4f04746..0000000
--- a/org.eclipse.rephraserengine.examples.text/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Wed Oct 14 16:59:49 CDT 2009
-eclipse.preferences.version=1
-formatter_profile=_Photran
-formatter_settings_version=11
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} University of Illinois at Urbana-Champaign and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * UIUC - Initial API and implementation\n *******************************************************************************/</template><template autoinsert\="false" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * \n * @author ${user}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/org.eclipse.rephraserengine.examples.text/META-INF/MANIFEST.MF b/org.eclipse.rephraserengine.examples.text/META-INF/MANIFEST.MF
deleted file mode 100644
index 07b4c11..0000000
--- a/org.eclipse.rephraserengine.examples.text/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Rephraser Engine Text File Manipulation Example
-Bundle-SymbolicName: org.eclipse.rephraserengine.internal.examples.text;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: Eclipse.org - Photran
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.rephraserengine.core,
- org.eclipse.rephraserengine.core.refactoring,
- org.eclipse.rephraserengine.ui,
- org.eclipse.rephraserengine.ui.refactoring,
- org.eclipse.core.resources,
- org.eclipse.jface.text,
- org.eclipse.ltk.core.refactoring
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-ActivationPolicy: lazy
diff --git a/org.eclipse.rephraserengine.examples.text/README.txt b/org.eclipse.rephraserengine.examples.text/README.txt
deleted file mode 100644
index 20041fe..0000000
--- a/org.eclipse.rephraserengine.examples.text/README.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-REPHRASER ENGINE - TEXT EXAMPLE
-
-This is a simple example of how to contribute a refactoring to the Rephraser Refactoring UI.
-(Note that this does *not* use the VPG components of the Rephraser engine.)
-
-(1) This plug-in contributes a "Convert Tabs to Spaces" item to the Refactor menu. The Refactor
- menu will be visible in the menu bar in the Resource and Java perspectives (among others).
- To use the refactoring, open any text file (including source code), and select
- Refactor > Convert Tabs to Spaces. A Refactor sub-menu should also be available when you
- select and then right-click one or more text files, folders, or projects in the Project
- Explorer view (i.e., when the current selection in the workbench is a resource).
-
-(2) The Refactoring itself is defined in ConvertTabsToSpacesRefactoring.java. That class is
- contributed to the Rephraser Engine's refactoring extension point.
-
-(3) A "resource filter" is also contributed, which determines when this refactoring will be
- available. We contribute a resource filter class defined in TextFileResourceFilter.java,
- which accepts any file that has a text content type (according to the Eclipse Platform's
- content type manager); this includes .txt files as well as most source code (e.g., .java files,
- .c files, etc.)
-
-For details, see the plugin.xml file, and then look in the classes referenced in there.
-
-Notice that, in the plugin.xml file, we contribute the ConvertTabsToSpacesRefactoring class, but
-we don't give it a name, and we don't provide any user interface for it. In this case,
-* the name is determined by calling the refactoring's getName() method, and
-* the user input dialog is constructed by looking for @UserInputString and @UserInputBoolean
- annotations in the ConvertTabsToSpacesRefactoring class. In this case, there is one method with
- a @UserInputBoolean annotation, so the dialog has a single checkbox. When the user checks or
- unchecks the checkbox, that method is invoked on the refactoring class.
-Of course, it is possible to customize the name and/or the user interface, but we do not need to
-in this simple example.
-
---Jeff Overbey 10/14/09
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.examples.text/about.html b/org.eclipse.rephraserengine.examples.text/about.html
deleted file mode 100644
index 9c7ba0a..0000000
--- a/org.eclipse.rephraserengine.examples.text/about.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>About</title></head>
-
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>May 2, 2006</p>
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, "Program" will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
-being redistributed by another party ("Redistributor") and different terms and conditions may
-apply to your use of any object code in the Content. Check the Redistributor's license that was
-provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body></html>
\ No newline at end of file
diff --git a/org.eclipse.rephraserengine.examples.text/build.properties b/org.eclipse.rephraserengine.examples.text/build.properties
deleted file mode 100644
index 28eb22c..0000000
--- a/org.eclipse.rephraserengine.examples.text/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- about.html
-src.includes = .classpath,\
- .project,\
- .settings/,\
- META-INF/,\
- README.txt,\
- about.html,\
- build.properties,\
- plugin.xml,\
- src/,\
- test/
diff --git a/org.eclipse.rephraserengine.examples.text/plugin.xml b/org.eclipse.rephraserengine.examples.text/plugin.xml
deleted file mode 100644
index faa8df0..0000000
--- a/org.eclipse.rephraserengine.examples.text/plugin.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- point="org.eclipse.rephraserengine.ui.refactoring.refactorings">
-
- <!-- Define a ResourceFilter, which tells what types of projects and files we can refactor -->
- <resourceFilter class="org.eclipse.rephraserengine.internal.examples.text.TextFileResourceFilter" />
-
- <!-- Add a new group to the Refactor menu... -->
- <group>
- <!-- ...and put our refactoring in that group -->
- <resourceRefactoring
- class="org.eclipse.rephraserengine.internal.examples.text.ConvertTabsToSpacesRefactoring" />
- </group>
- </extension>
-
-</plugin>
diff --git a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/ConvertTabsToSpacesRefactoring.java b/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/ConvertTabsToSpacesRefactoring.java
deleted file mode 100644
index 8e42e8e..0000000
--- a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/ConvertTabsToSpacesRefactoring.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.text;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ltk.core.refactoring.Change;
-import org.eclipse.ltk.core.refactoring.CompositeChange;
-import org.eclipse.ltk.core.refactoring.Refactoring;
-import org.eclipse.ltk.core.refactoring.RefactoringStatus;
-import org.eclipse.ltk.core.refactoring.TextFileChange;
-import org.eclipse.rephraserengine.core.refactorings.IResourceRefactoring;
-import org.eclipse.rephraserengine.core.refactorings.UserInputBoolean;
-import org.eclipse.text.edits.MultiTextEdit;
-import org.eclipse.text.edits.ReplaceEdit;
-
-/**
- * A "refactoring" (sort of) that converts tabs to spaces in a text file.
- *
- * @author Jeff Overbey
- */
-public final class ConvertTabsToSpacesRefactoring extends Refactoring implements IResourceRefactoring
-{
- private List<IFile> files = null;
-
- private int tabWidth = 4;
-
- public void initialize(List<IFile> files)
- {
- this.files = files;
- }
-
- @Override
- public RefactoringStatus checkInitialConditions(IProgressMonitor pm)
- {
- assert files != null && !files.isEmpty();
-
- pm.beginTask("Checking files", files.size());
- pm.setTaskName("Checking files");
- for (IFile file : files)
- {
- if (!file.isAccessible())
- return fatalError("The file " + file.getName() + " is not accessible.");
-
- if (file.isReadOnly())
- return fatalError("The file " + file.getName() + " is read-only.");
-
- pm.worked(1);
- }
- pm.done();
-
- return new RefactoringStatus();
- }
-
- private RefactoringStatus fatalError(String message)
- {
- return RefactoringStatus.createFatalErrorStatus(message);
- }
-
- @UserInputBoolean(label="Use 8-character instead of 4-character tab stops", defaultValue=false)
- public void setWideTabs(boolean useWideTabs)
- {
- tabWidth = useWideTabs ? 8 : 4;
- }
-
- @Override
- public RefactoringStatus checkFinalConditions(IProgressMonitor pm)
- {
- assert files != null && !files.isEmpty();
-
- return new RefactoringStatus();
- }
-
- @Override
- public Change createChange(IProgressMonitor pm) throws CoreException
- {
- assert files != null && !files.isEmpty();
-
- CompositeChange change = new CompositeChange(getName());
- pm.beginTask("Converting tabs", files.size());
- pm.setTaskName("Converting tabs");
-
- for (IFile file : files)
- {
- try
- {
- pm.subTask("Modifying " + file.getName());
- TextFileChange fileChange = change(file);
- if (fileChange != null)
- change.add(fileChange);
- }
- catch (IOException e)
- {
- throw new CoreException(new Status(
- IStatus.ERROR,
- "org.eclipse.rephraserengine.examples.text",
- IStatus.OK,
- "The file " + file.getName() + " could not be read",
- e));
- }
- pm.worked(1);
- }
-
- pm.done();
- return change;
- }
-
- /** @return a TextFileChange that will replace all tabs with spaces in the given file, or
- * <code>null</code> if there are no tab characters in the file */
- private TextFileChange change(IFile file) throws IOException, CoreException
- {
- TextFileChange change = new TextFileChange("Replace tabs in " + file.getName(), file);
- change.setEdit(new MultiTextEdit());
-
- BufferedInputStream in = new BufferedInputStream(file.getContents(true));
- int offset = 0;
- int column = 0;
- int numberOfTabsReplaced = 0;
- for (int ch = in.read(); ch >= 0; ch = in.read())
- {
- if (ch == '\t')
- {
- int spacesToNextTabStop = tabWidth - (column % tabWidth);
- change.addEdit(new ReplaceEdit(offset, 1, spaces(spacesToNextTabStop)));
- column += spacesToNextTabStop;
- numberOfTabsReplaced += 1;
- }
- else if (ch == '\n')
- {
- column = 0;
- }
- else
- {
- column++;
- }
- offset++;
- }
- in.close();
-
- if (numberOfTabsReplaced == 0)
- return null;
- else
- return change;
- }
-
- private String spaces(int count)
- {
- assert 0 <= count && count <= tabWidth && tabWidth <= 8;
-
- switch (count)
- {
- case 0: return "";
- case 1: return " ";
- case 2: return " ";
- case 3: return " ";
- case 4: return " ";
- case 5: return " ";
- case 6: return " ";
- case 7: return " ";
- case 8: return " ";
- default: throw new IllegalArgumentException();
- }
- }
-
- @Override
- public String getName()
- {
- return "Convert Tabs to Spaces";
- }
-}
diff --git a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextFileResourceFilter.java b/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextFileResourceFilter.java
deleted file mode 100644
index edac3e5..0000000
--- a/org.eclipse.rephraserengine.examples.text/src/org/eclipse/rephraserengine/internal/examples/text/TextFileResourceFilter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 University of Illinois at Urbana-Champaign and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * UIUC - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.rephraserengine.internal.examples.text;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.content.IContentType;
-import org.eclipse.core.runtime.content.IContentTypeManager;
-import org.eclipse.rephraserengine.core.IResourceFilter;
-
-/**
- * Resource filter that accepts any kind of text file (but not binaries) in any project or folder,
- * excluding files named *makefile or .*
- * <p>
- * Only resources that are accessible and not "derived resources" (according to the Eclipse
- * Platform) are considered.
- *
- * @author Jeff Overbey
- */
-public class TextFileResourceFilter implements IResourceFilter
-{
- private static final IContentType TEXT_CONTENT_TYPE =
- Platform.getContentTypeManager().getContentType(IContentTypeManager.CT_TEXT);
-
- public boolean shouldProcess(IResource resource)
- {
- if (!(resource instanceof IFile)) return true; // Process all projects, all folders
-
- String filename = resource.getName();
- if (filename.toLowerCase().endsWith("makefile") || filename.startsWith(".")) return false;
-
- IContentType contentType = Platform.getContentTypeManager().findContentTypeFor(filename);
- return contentType != null
- && contentType.isKindOf(TEXT_CONTENT_TYPE)
- && resource.isAccessible()
- && !resource.isDerived();
- }
-
- public String getError(IResource resource)
- {
- return "The file " + resource.getName() + " is not a text file, or it is not accessible.";
- }
-}
diff --git a/org.eclipse.rephraserengine.examples.text/test/tab-example.txt b/org.eclipse.rephraserengine.examples.text/test/tab-example.txt
deleted file mode 100644
index eca9272..0000000
--- a/org.eclipse.rephraserengine.examples.text/test/tab-example.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-program tabs
- implicit none
- !
- !
- !
- !
- !
- !
- !
- !
- !
- !
- !
- !
- !
- !
- !
- !
- a !
- ab !
- abc !
- abcd !
-end program tabs