Buggy code:
public abstract class DotnetCompile extends MatchingTask { private String references ; private boolean includeDefaultReferences ; private File win32icon ; private File win32res ; private File outputFile ; private boolean failOnError ; private Path referenceFiles ; private boolean optimize ; protected Vector filesets = new Vector ( ) ; protected Vector definitionList = new Vector ( ) ; protected static final String [ ] DEFAULT_REFERENCE_LIST_DOTNET_10 = new String [ ] { "Accessibility.dll" , "cscompmgd.dll" , "CustomMarshalers.dll" , "Mscorcfg.dll" , "System.Configuration.Install.dll" , "System.Data.dll" , "System.Design.dll" , "System.DirectoryServices.dll" , "System.EnterpriseServices.dll" , "System.dll" , "System.Drawing.Design.dll" , "System.Drawing.dll" , "System.Management.dll" , "System.Messaging.dll" , "System.Runtime.Remoting.dll" , "System.Runtime.Serialization.Formatters.Soap.dll" , "System.Security.dll" , "System.ServiceProcess.dll" , "System.Web.dll" , "System.Web.RegularExpressions.dll" , "System.Web.Services.dll" , "System.Windows.Forms.dll" , "System.XML.dll" } ; protected boolean debug ; private int warnLevel ; protected String mainClass ; protected String extraOptions ; private File srcDir ; protected String targetType ; protected boolean utf8output = false ; String additionalModules ; public DotnetCompile ( ) { } public void clear ( ) { } public void setReferences ( String s ) { } protected String getReferencesParameter ( ) { } public void setReferenceFiles ( Path path ) { } protected String getReferenceFilesParameter ( ) { } protected String getDefaultReferenceParameter ( ) { } public void setIncludeDefaultReferences ( boolean f ) { } public boolean getIncludeDefaultReferences ( ) { } protected String getIncludeDefaultReferencesParameter ( ) { } public void setOptimize ( boolean f ) { } public boolean getOptimize ( ) { } protected String getOptimizeParameter ( ) { } public void setDebug ( boolean f ) { } public boolean getDebug ( ) { } protected String getDebugParameter ( ) { } public void setWarnLevel ( int warnLevel ) { } public int getWarnLevel ( ) { } protected String getWarnLevelParameter ( ) { } public void setMainClass ( String mainClass ) { } public String getMainClass ( ) { } protected String getMainClassParameter ( ) { } public void setExtraOptions ( String extraOptions ) { } public String getExtraOptions ( ) { } protected String getExtraOptionsParameter ( ) { } public File getSrcDir ( ) { } public void setSrcDir ( File srcDirName ) { } public void setDestDir ( File dirName ) { } public void setTargetType ( DotnetCompile . TargetTypes targetType ) { } public void setTargetType ( String ttype ) throws BuildException { } public String getTargetType ( ) { } protected String getTargetTypeParameter ( ) { } public void setWin32Icon ( File fileName ) { } protected String getWin32IconParameter ( ) { } public void setWin32Res ( File fileName ) { } public File getWin32Res ( ) { } protected String getWin32ResParameter ( ) { } public void setUtf8Output ( boolean enabled ) { } protected String getUtf8OutputParameter ( ) { } public void addDefine ( DotnetCompile . Define define ) { <START_BUG> definitionList . add ( define ) ; <END_BUG> } protected String getDefinitionsParameter ( ) throws BuildException { } public void setAdditionalModules ( String params ) { } protected String getAdditionalModulesParameter ( ) { } public void setDestFile ( File file ) { } protected String getDestFileParameter ( ) { } public void setFailOnError ( boolean b ) { } public boolean getFailOnError ( ) { } protected boolean notEmpty ( String s ) { } protected void validate ( ) throws BuildException { } public String getDefaultReferenceList ( ) { } public String getFilePattern ( ) { } public File getDestFile ( ) { } public void execute ( ) throws BuildException { } public abstract String getReferenceDelimiter ( ) { } public abstract String getCompilerExeName ( ) { } public abstract String getFileExtension ( ) { } protected int buildFileList ( Hashtable filesToBuild , long outputTimestamp ) { } protected int scanOneFileset ( DirectoryScanner scanner , Hashtable filesToBuild , long outputTimestamp ) { } protected void addFilesToCommand ( Hashtable filesToBuild , NetCommand command ) { } protected long getOutputFileTimestamp ( ) { } protected void fillInSharedParameters ( NetCommand command ) { } protected NetCommand createNetCommand ( ) { } protected abstract void addCompilerSpecificOptions ( NetCommand command ) { } protected void addFilesAndExecute ( NetCommand command ) { } public String getDefinitionsDelimiter ( ) { } public static class TargetTypes extends EnumeratedAttribute { public String [ ] getValues ( ) { } } public static class Define { private String name ; private String condition ; public String getCondition ( ) { } public void setCondition ( String condition ) { } public String getName ( ) { } public void setName ( String name ) { } public String getValue ( Task owner ) throws BuildException { } public boolean isSet ( Task owner ) { } } }

Fix:
definitionList . addElement ( define ) ;