home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Languages Suite
/
ProgLangD.iso
/
VCAFE.3.0A
/
Main.bin
/
CompilerOptions.java
< prev
next >
Wrap
Text File
|
1998-10-25
|
9KB
|
220 lines
/*
* Copyright 1998 Symantec Corporation, All Rights Reserved.
*/
package com.symantec.itools.vcafe.openapi.options;
/**
* The API used to represent and access the options that appear in the "Compiler" tab
* in the Options dialog of a Visual Cafe project.
* <p>Use <code>ProjectOptionSet.getCompilerOptions()</code> to get an instance of this object.
*
* @see com.symantec.itools.vcafe.openapi.VisualProject#getOptionSet
* @see ProjectOptionSet#getCompilerOptions
*
* @author Symantec Internet Tools Division
* @version 1.0
* @since VCafe 3.0
*/
public abstract class CompilerOptions
{
/**
* Determines whether the compiler will optimize its generated code.
* <p>Optimizing results in a smaller executable that runs faster.
* @return <code>true</code> if optimizations are on, <code>false</code> otherwise.
*/
public abstract boolean isUseJavaOptimizations();
/**
* Determines whether the compiler will prevent the "inlining" optimization.
* Inlining means that Visual Cafe takes a method's code and imbeds it in the calling method instead of
* calling the method.
* <p>Inlining increases execution speed but also increases executable size.
* @return <code>true</code> if inlining is <i>disabled</i>, <code>false</code> otherwise.
*/
public abstract boolean isDisableFunctionInlining();
/**
* Determines whether the compiler will generate debug information used by the Visual Cafe debugger.
* @return <code>true</code> if debug information is generated, <code>false</code> otherwise.
*/
public abstract boolean isGenerateDebugInformation();
/**
* Determines whether Sun's java compiler will be used.
* @return <code>true</code> if so, <code>false</code> otherwise.
*/
public abstract boolean isUseSunsJavaCompiler();
/**
* Determines whether the compiler will generate warning messsages.
* @return <code>true</code> if so, <code>false</code> otherwise.
*/
public abstract boolean isShowCompilerWarnings();
/**
* Determines whether the compiler will generate warning messages about deprecated code.
* @return <code>true</code> if so, <code>false</code> otherwise.
*/
public abstract boolean isWarnOnDeprecated();
/**
* Determines whether the compiler will generate progress messages
* @return <code>true</code> if so, <code>false</code> otherwise.
*/
public abstract boolean isShowProgressMessages();
/**
* Determines whether the compiler will generate file dependency messages.
* @return <code>true</code> if so, <code>false</code> otherwise.
*/
public abstract boolean isShowDependencies();
/**
* Determines whether the compiler will generate all possible messages.
* @return <code>true</code> if so, <code>false</code> otherwise.
*/
public abstract boolean isShowAllJavaMessages();
/**
* Indicates project build should not check import depencies.
* @see #getMakeSettings
*/
public static final int MAKESETTINGS_DONT_CHECK_DEPENDENCIES_ON_IMPORTS = 0;
/**
* Indicates project build should warn of out-of-date imports.
* @see #getMakeSettings
*/
public static final int MAKESETTINGS_WARN_ON_OUT_OF_DATE_IMPORTS = 1;
/**
* Indicates project build should check imported classes and build them as necessary.
* @see #getMakeSettings
*/
public static final int MAKESETTINGS_GENERATE_CLASS_FOR_OUT_OF_DATE_IMPORTS = 2;
/**
* Gets make (i.e. build) options.
* @return One of:<ul type=circle>
* <li>MAKESETTINGS_DONT_CHECK_DEPENDENCIES_ON_IMPORTS - doesn't check imported classes,
* <li>MAKESETTINGS_WARN_ON_OUT_OF_DATE_IMPORTS - warns of out-of-date imported classes, or
* <li>MAKESETTINGS_GENERATE_CLASS_FOR_OUT_OF_DATE_IMPORTS - builds out-of-date imported classes.
* </ul>
*/
public abstract int getMakeSettings();
/**
* Determines whether this native Windows project is a GUI or a console application.
* If it is a GUI application, the console window will be suprressed.
* <p>Note: this option is only valid when generating native Windows targets.
* @return <code>true</code> indicates GUI, <code>false</code> indicates console.
* @see ProjectOptions#getTargetType
*/
public abstract boolean isGUIApplication();
/**
* Determines whether this native Windows project will include profiling calls in the generated code.
* <p>Note: this option is only valid when generating native Windows targets.
* @return <code>true</code> indicates profiling calls included, <code>false</code> indicates no profiling calls.
* @see ProjectOptions#getTargetType
*/
public abstract boolean isUsePerformanceProfiling();
/**
* Determines whether this native Windows project will gnerate P6 or P5 Pentium code.
* <p>Note: this option is only valid when generating native Windows targets.
* @return <code>true</code> indicates P6 Pentium code generated, <code>false</code> indicates P5 Pentium code generated.
* @see ProjectOptions#getTargetType
*/
public abstract boolean isP6PentiumCodeGeneration();
/**
* Gets the current custom flags that will be passed to the SJ compiler.
* @return the custom compiler flags.
*/
public abstract String getCustomCompilerFlags();
/**
* Determines whether compiling the project will always run Javadoc as well.
* @return <code>true</code> if so, <code>false</code> otherwise. This is <code>false</code> by default.
*/
public abstract boolean isAlwaysProduceJavadocWhenCompiling();
/**
* Determines whether Javadoc will include "@version" paragraphs.
* @return <code>true</code> if so, <code>false</code> otherwise. This is <code>true</code> by default.
*/
public abstract boolean isJavadocIncludeVersion();
/**
* Determines whether Javadoc will include "@author" paragraphs.
* @return <code>true</code> if so, <code>false</code> otherwise. This is <code>true</code> by default.
*/
public abstract boolean isJavadocIncludeAuthor();
/**
* Determines whether Javadoc will generate a method and field index.
* @return <code>true</code> if so, <code>false</code> otherwise. This is <code>true</code> by default.
*/
public abstract boolean isJavadocGenerateIndex();
/**
* Determines whether Javadoc will split the index by initial letter.
* <p>Note: this option is only valid when <code>isJavadocGenerateIndex</code> is <code>true</code>.
* @return <code>true</code> if so, <code>false</code> otherwise. This is <code>false</code> by default.
*/
public abstract boolean isJavadocSplitIndex();
/**
* Determines whether Javadoc will generate a class hierarchy.
* @return <code>true</code> if so, <code>false</code> otherwise. This is <code>true</code> by default.
*/
public abstract boolean isJavadocGenerateTree();
/**
* Determines whether Javadoc will include imported system classes.
* @return <code>true</code> if so, <code>false</code> otherwise. This is <code>false</code> by default.
*/
public abstract boolean isJavadocIncludeImportedSystemClasses();
/**
* Indicates Javadoc will only document classes and members that are "public".
* @see #getJavadocClassesToDocument
*/
public static final int CLASSESTODOCUMENT_PUBLIC = 0;
/**
* Indicates Javadoc will only document classes and members that are "public" and "protected" (default).
* @see #getJavadocClassesToDocument
*/
public static final int CLASSESTODOCUMENT_ANDPROTECTED = 1;
/**
* Indicates Javadoc will only document classes and members that are "public", "protected" and "package".
* @see #getJavadocClassesToDocument
*/
public static final int CLASSESTODOCUMENT_ANDPACKAGE = 2;
/**
* Indicates Javadoc will document classes and members that are "public", "protected", "package" and "private".
* @see #getJavadocClassesToDocument
*/
public static final int CLASSESTODOCUMENT_ANDPRIVATE = 3;
/**
* Get the type of classes and members that Javadoc will document.
* This is <code>CLASSESTODOCUMENT_ANDPROTECTED</code> by default.
* @return One of:<ul type=circle>
* <li>CLASSESTODOCUMENT_PUBLIC - public classes/members only,
* <li>CLASSESTODOCUMENT_ANDPROTECTED - public and protected classes/members only, or
* <li>CLASSESTODOCUMENT_ANDPACKAGE - public, protected and package classes/members only, or
* <li>CLASSESTODOCUMENT_ANDPRIVATE - public, protected, package and private classes/members.
* </ul>
*/
public abstract int getJavadocClassesToDocument();
/**
* Determines whether Sun's Javadoc compiler will be used.
* @return <code>true</code> if so, <code>false</code> otherwise. This is <code>false</code> by default.
*/
public abstract boolean isUseSunJavadoc();
}