Class AbstractCompiler

    • Field Detail

      • emptyIncludeArray

        private static final java.lang.String[] emptyIncludeArray
      • outputSuffix

        private java.lang.String outputSuffix
    • Constructor Detail

      • AbstractCompiler

        protected AbstractCompiler​(java.lang.String[] sourceExtensions,
                                   java.lang.String[] headerExtensions,
                                   java.lang.String outputSuffix)
    • Method Detail

      • canParse

        protected boolean canParse​(java.io.File sourceFile)
        Checks file name to see if parse should be attempted Default implementation returns false for files with extensions '.dll', 'tlb', '.res'
      • createConfiguration

        public ProcessorConfiguration createConfiguration​(CCTask task,
                                                          LinkType linkType,
                                                          ProcessorDef[] baseConfigs,
                                                          ProcessorDef specificConfig,
                                                          TargetDef targetPlatform,
                                                          VersionInfo versionInfo)
        Description copied from interface: Processor
        Returns the compiler configuration for or element.
        Specified by:
        createConfiguration in interface Processor
        baseConfigs - When specificConfig corresponds to a or linker element, defaultProvider will be a zero to two element array. If there is an extends attribute, the first element will be the referenced ProcessorDef, unless inherit = false, the last element will be the containing element
        specificConfig - A or element.
        Returns:
        resulting configuration
      • createParser

        protected abstract Parser createParser​(java.io.File sourceFile)
      • getBaseOutputName

        protected java.lang.String getBaseOutputName​(java.lang.String inputFile)
      • getOutputFileNames

        public java.lang.String[] getOutputFileNames​(java.lang.String inputFile,
                                                     VersionInfo versionInfo)
        Description copied from interface: Processor
        Output file name (no path components) corresponding to source file
        Specified by:
        getOutputFileNames in interface Processor
        Parameters:
        inputFile - input file
        Returns:
        output file name or null if no output file or name not determined by input file
      • parseIncludes

        public final DependencyInfo parseIncludes​(CCTask task,
                                                  java.io.File source,
                                                  java.io.File[] includePath,
                                                  java.io.File[] sysIncludePath,
                                                  java.io.File[] envIncludePath,
                                                  java.io.File baseDir,
                                                  java.lang.String includePathIdentifier)
        Returns dependency info for the specified source file
        Parameters:
        task - task for any diagnostic output
        source - file to be parsed
        includePath - include path to be used to resolve included files
        sysIncludePath - sysinclude path from build file, files resolved using sysInclude path will not participate in dependency analysis
        envIncludePath - include path from environment variable, files resolved with envIncludePath will not participate in dependency analysis
        baseDir - used to produce relative paths in DependencyInfo
        includePathIdentifier - used to distinguish DependencyInfo's from different include path settings
      • resolveInclude

        protected boolean resolveInclude​(java.lang.String includeName,
                                         java.io.File[] includePath,
                                         java.util.Vector onThisPath)