#
# Copyright 1996-2003 Sun Microsystems, Inc.  All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#

FILES_java = \
	sun/tools/java/RuntimeConstants.java \
	sun/tools/javac/Main.java \
	sun/tools/javac/BatchEnvironment.java \
	sun/tools/javac/ErrorConsumer.java \
	sun/tools/javac/ErrorMessage.java \
	sun/tools/javac/BatchParser.java \
	sun/tools/javac/SourceClass.java \
	sun/tools/javac/SourceMember.java \
	sun/tools/javac/CompilerMember.java \
	sun/tools/tree/LocalMember.java \
	sun/tools/tree/Node.java \
	sun/tools/tree/Expression.java \
	sun/tools/tree/Statement.java \
	sun/tools/tree/TypeExpression.java \
	sun/tools/tree/IdentifierExpression.java \
	sun/tools/tree/UnaryExpression.java \
	sun/tools/tree/FieldExpression.java \
	sun/tools/tree/NaryExpression.java \
	sun/tools/tree/MethodExpression.java \
	sun/tools/tree/InlineMethodExpression.java \
	sun/tools/tree/ConstantExpression.java \
	sun/tools/tree/IntegerExpression.java \
	sun/tools/tree/CharExpression.java \
	sun/tools/tree/IntExpression.java \
	sun/tools/tree/LongExpression.java \
	sun/tools/tree/FloatExpression.java \
	sun/tools/tree/DoubleExpression.java \
	sun/tools/tree/StringExpression.java \
	sun/tools/tree/BooleanExpression.java \
	sun/tools/tree/NullExpression.java \
	sun/tools/tree/ThisExpression.java \
	sun/tools/tree/SuperExpression.java \
	sun/tools/tree/NotExpression.java \
	sun/tools/tree/PositiveExpression.java \
	sun/tools/tree/NegativeExpression.java \
	sun/tools/tree/BitNotExpression.java \
	sun/tools/tree/IncDecExpression.java \
	sun/tools/tree/PreIncExpression.java \
	sun/tools/tree/PreDecExpression.java \
	sun/tools/tree/BinaryExpression.java \
	sun/tools/tree/CastExpression.java \
	sun/tools/tree/ExprExpression.java \
	sun/tools/tree/ArrayExpression.java \
	sun/tools/tree/NewArrayExpression.java \
	sun/tools/tree/NewInstanceExpression.java \
	sun/tools/tree/ArrayAccessExpression.java \
	sun/tools/tree/PostIncExpression.java \
	sun/tools/tree/PostDecExpression.java \
	sun/tools/tree/CommaExpression.java \
	sun/tools/tree/InstanceOfExpression.java \
	sun/tools/tree/BinaryArithmeticExpression.java \
	sun/tools/tree/AddExpression.java \
	sun/tools/tree/SubtractExpression.java \
	sun/tools/tree/MultiplyExpression.java \
	sun/tools/tree/DivRemExpression.java \
	sun/tools/tree/DivideExpression.java \
	sun/tools/tree/RemainderExpression.java \
	sun/tools/tree/BinaryShiftExpression.java \
	sun/tools/tree/ShiftLeftExpression.java \
	sun/tools/tree/ShiftRightExpression.java \
	sun/tools/tree/BinaryCompareExpression.java \
	sun/tools/tree/LessExpression.java \
	sun/tools/tree/LessOrEqualExpression.java \
	sun/tools/tree/GreaterExpression.java \
	sun/tools/tree/GreaterOrEqualExpression.java \
	sun/tools/tree/BinaryEqualityExpression.java \
	sun/tools/tree/EqualExpression.java \
	sun/tools/tree/NotEqualExpression.java \
	sun/tools/tree/BinaryBitExpression.java \
	sun/tools/tree/BitAndExpression.java \
	sun/tools/tree/BitXorExpression.java \
	sun/tools/tree/BitOrExpression.java \
	sun/tools/tree/BinaryLogicalExpression.java \
	sun/tools/tree/AndExpression.java \
	sun/tools/tree/OrExpression.java \
	sun/tools/tree/BinaryAssignExpression.java \
	sun/tools/tree/IfStatement.java \
	sun/tools/tree/AssignExpression.java \
	sun/tools/tree/AssignOpExpression.java \
	sun/tools/tree/AssignAddExpression.java \
	sun/tools/tree/AssignSubtractExpression.java \
	sun/tools/tree/AssignMultiplyExpression.java \
	sun/tools/tree/AssignDivideExpression.java \
	sun/tools/tree/AssignRemainderExpression.java \
	sun/tools/tree/AssignBitAndExpression.java \
	sun/tools/tree/AssignBitOrExpression.java \
	sun/tools/tree/AssignBitXorExpression.java \
	sun/tools/tree/AssignShiftLeftExpression.java \
	sun/tools/tree/AssignShiftRightExpression.java \
	sun/tools/tree/ConditionalExpression.java \
	sun/tools/tree/ConditionVars.java \
	sun/tools/tree/CompoundStatement.java \
	sun/tools/tree/DeclarationStatement.java \
	sun/tools/tree/ExpressionStatement.java \
	sun/tools/tree/ForStatement.java \
	sun/tools/tree/WhileStatement.java \
	sun/tools/tree/DoStatement.java \
	sun/tools/tree/BreakStatement.java \
	sun/tools/tree/ContinueStatement.java \
	sun/tools/tree/ReturnStatement.java \
	sun/tools/tree/InlineReturnStatement.java \
	sun/tools/tree/CaseStatement.java \
	sun/tools/tree/SwitchStatement.java \
	sun/tools/tree/CatchStatement.java \
	sun/tools/tree/TryStatement.java \
	sun/tools/tree/FinallyStatement.java \
	sun/tools/tree/ThrowStatement.java \
	sun/tools/tree/SynchronizedStatement.java \
	sun/tools/tree/ConvertExpression.java \
	sun/tools/tree/LengthExpression.java \
	sun/tools/tree/ByteExpression.java \
	sun/tools/tree/ShortExpression.java \
	sun/tools/tree/Context.java \
	sun/tools/tree/CheckContext.java \
	sun/tools/tree/CodeContext.java \
	sun/tools/tree/VarDeclarationStatement.java \
	sun/tools/asm/Assembler.java \
	sun/tools/asm/Instruction.java \
	sun/tools/asm/Label.java \
	sun/tools/asm/SwitchData.java \
	sun/tools/asm/Cover.java \
	sun/tools/asm/ArrayData.java \
	sun/tools/asm/TryData.java \
	sun/tools/asm/CatchData.java \
	sun/tools/asm/ConstantPool.java \
	sun/tools/asm/ConstantPoolData.java \
	sun/tools/asm/StringConstantData.java \
	sun/tools/asm/ClassConstantData.java \
	sun/tools/asm/FieldConstantData.java \
	sun/tools/asm/NameAndTypeData.java \
	sun/tools/asm/NameAndTypeConstantData.java \
	sun/tools/asm/NumberConstantData.java \
	sun/tools/asm/LocalVariableTable.java \
	sun/tools/asm/LocalVariable.java \
	sun/tools/java/Environment.java \
	sun/tools/java/Scanner.java \
	sun/tools/java/ScannerInputReader.java \
	sun/tools/java/Parser.java \
	sun/tools/java/Imports.java \
	sun/tools/java/ClassDefinition.java \
	sun/tools/java/MemberDefinition.java \
	sun/tools/java/ClassDeclaration.java \
	sun/tools/java/Identifier.java \
	sun/tools/java/Package.java \
	sun/tools/java/ClassPath.java \
	sun/tools/java/ClassFile.java \
	sun/tools/java/ClassNotFound.java \
	sun/tools/java/Constants.java \
	sun/tools/java/SyntaxError.java \
	sun/tools/java/Type.java \
	sun/tools/java/MethodType.java \
	sun/tools/java/ArrayType.java \
	sun/tools/java/ClassType.java \
	sun/tools/java/AmbiguousClass.java \
	sun/tools/java/CompilerError.java \
	sun/tools/java/AmbiguousMember.java \
	sun/tools/java/BinaryClass.java \
	sun/tools/java/BinaryConstantPool.java \
	sun/tools/java/BinaryAttribute.java \
	sun/tools/java/BinaryCode.java \
	sun/tools/java/BinaryExceptionHandler.java \
	sun/tools/java/BinaryMember.java \
	sun/tools/tree/UnsignedShiftRightExpression.java \
	sun/tools/tree/AssignUnsignedShiftRightExpression.java \
	sun/tools/asm/StringExpressionConstantData.java \
	sun/tools/tree/InlineNewInstanceExpression.java \
	sun/tools/java/IdentifierToken.java \
	sun/tools/java/ParserActions.java \
	sun/tools/tree/UplevelReference.java \
	sun/tools/tree/FieldUpdater.java \
	sun/tools/tree/Vset.java \
	sun/tools/java/MethodSet.java \
	sun/tools/util/ModifierFilter.java \
	sun/tools/util/CommandLine.java
