tree 80742487d23820b75665a83c0c78514f8351f04a
parent 46418d248f89a29f49a77d154cdbfa57c408b256
author cvs2svn <platform-releng-dev@eclipse.org> 999257725 +0000
committer cvs2svn <platform-releng-dev@eclipse.org> 999257725 +0000

This commit was manufactured by cvs2svn to create tag
'v_0_134_01_(2_0_stream)_options'.

Sprout from master 2001-08-24 18:30:22 UTC Philipe Mulet <pmulet> 'Fix for 1GII07V'
Cherrypick from unlabeled-1.6.2 2001-08-31 11:31:39 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/DocumentElementParser.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Argument.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Assignment.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/CompoundAssignment.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/DefaultCase.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/LabeledStatement.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/PostfixExpression.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/PrefixExpression.java
    org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetParser.java
    org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/EvaluationContext.java
    org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/Evaluator.java
    org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/VariablesEvaluator.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaConventions.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/Buffer.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/CompilationUnitVisitor.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModel.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/Openable.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/SourceType.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/BuildNotifier.java
Cherrypick from unlabeled-1.5.2 2001-08-31 11:31:01 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/Engine.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AssertStatement.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/util/messages.properties
    org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetCompiler.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/BinaryType.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/ClassFile.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/CopyElementsOperation.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelOperation.java
Cherrypick from unlabeled-1.7.2 2001-08-31 11:31:59 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/CompletionEngine.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/SourceElementParser.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/Case.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ConditionalExpression.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/JavaBuilder.java
    org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/indexing/BinaryIndexer.java
    org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/MethodReferencePattern.java
    org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/SearchPattern.java
Cherrypick from unlabeled-1.8.2 2001-08-31 11:31:58 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/SelectionEngine.java
    org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/CodeFormatter.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/BatchImageBuilder.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/IncrementalImageBuilder.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/JavaDevelopmentContextImpl.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/StateImpl.java
Cherrypick from unlabeled-1.10.2 2001-08-31 11:31:47 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/Compiler.java
    org.eclipse.jdt.core/formatter/org/eclipse/jdt/internal/formatter/impl/FormatterOptions.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/eval/EvaluationContextWrapper.java
Cherrypick from unlabeled-1.2.12 2001-08-31 11:32:00 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetEvaluator.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaProjectElementInfo.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/impl/AbstractImageBuilder.java
Cherrypick from unlabeled-1.9.2 2001-08-31 11:29:02 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/HierarchyResolver.java
    org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/matching/MatchLocator.java
Cherrypick from unlabeled-1.1.2 2001-08-31 11:28:02 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/AssistOptions.java
Cherrypick from unlabeled-1.11.2 2001-08-31 11:29:11 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/impl/CompilerOptions.java
Cherrypick from unlabeled-1.12.2 2001-08-31 11:31:24 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java
Cherrypick from unlabeled-1.13.2 2001-08-30 17:35:03 UTC Philipe Mulet <pmulet> 'Fix for AST positions':
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java
Cherrypick from unlabeled-1.16.2 2001-08-31 11:27:40 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/Main.java
Cherrypick from unlabeled-1.20.2 2001-08-31 11:30:31 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
Cherrypick from unlabeled-1.28.2 2001-08-31 11:35:24 UTC Philipe Mulet <pmulet> '*** empty log message ***':
    org.eclipse.jdt.core/changes.txt
Delete:
    org.eclipse.jdt.core/codeassist/org/eclipse/jdt/internal/codeassist/impl/CompletionOptions.java
    org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ConfigurableOption.java
    org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.ini