Compiler MembersNFX Class Library

[This is preliminary documentation and is subject to change.]

The Compiler type exposes the following members.
Constructors

  NameDescription
Protected methodCompiler
Initializes a new instance of the Compiler class
Back to Top
Methods

  NameDescription
Protected methodBuildNodeOutput
Override to perform custom interpretation per particular compiler target
Protected methodBuildOutputs
Override to perform compilation into output, the base implementation loops over all nodes and interprets script includes
Public methodCompile
Public methodConfigure
Protected methodDoCompile
Performs a compilation - this is a root override-able method where compilation starts
Protected methodEnsureNotCompiled
Public methodOnlineEquals
Determines whether the specified object is equal to the current object.
(Inherited from OnlineObject.)
Public methodEscapeFileName
Replaces incompatible characters for file names with "_"
Public methodEscapeString
Protected methodOnlineFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from OnlineObject.)
Public methodOnlineGetHashCode
Serves as the default hash function.
(Inherited from OnlineObject.)
Public methodGetOutputFileSuffix
Override to provide meaningful extension for particular technology, i.e. SQL
Public methodOnlineGetType
Gets the OnlineType of the current instance.
(Inherited from OnlineObject.)
Protected methodIncludeScriptFile
Performs a script file include
Public methodIncludeScriptText
Performs a verbatim script text include
Protected methodOnlineMemberwiseClone
Creates a shallow copy of the current OnlineObject.
(Inherited from OnlineObject.)
Public methodOnlineToString
Returns a string that represents the current object.
(Inherited from OnlineObject.)
Back to Top
Extension Methods

  NameDescription
Public Extension MethodAsBool (Defined by ObjectValueConversion.)
Public Extension MethodAsByte (Defined by ObjectValueConversion.)
Public Extension MethodAsChar (Defined by ObjectValueConversion.)
Public Extension MethodAsDateTime Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsDateTime(DateTime, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsDecimal (Defined by ObjectValueConversion.)
Public Extension MethodAsDouble (Defined by ObjectValueConversion.)
Public Extension MethodAsEnum TEnum  (Defined by ObjectValueConversion.)
Public Extension MethodAsFloat (Defined by ObjectValueConversion.)
Public Extension MethodAsGDID Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDID(GDID, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDIDSymbol Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGDIDSymbol(GDIDSymbol, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsGUID (Defined by ObjectValueConversion.)
Public Extension MethodAsInt (Defined by ObjectValueConversion.)
Public Extension MethodAsJSONConfig (Defined by ObjectValueConversion.)
Public Extension MethodAsLaconicConfig (Defined by ObjectValueConversion.)
Public Extension MethodAsLong (Defined by ObjectValueConversion.)
Public Extension MethodAsNonNullOrEmptyString (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableBool (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableByte (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableChar (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDateTime (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDecimal (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableDouble (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableEnum TEnum  (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableFloat (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGDID (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGDIDSymbol (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableGUID (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableInt (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableLong (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableSByte (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableShort (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableTimeSpan (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableUInt (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableULong (Defined by ObjectValueConversion.)
Public Extension MethodAsNullableUShort (Defined by ObjectValueConversion.)
Public Extension MethodAsSByte (Defined by ObjectValueConversion.)
Public Extension MethodAsShort (Defined by ObjectValueConversion.)
Public Extension MethodAsString (Defined by ObjectValueConversion.)
Public Extension MethodAsTimeSpan Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsTimeSpan(TimeSpan, ConvertErrorHandling)Overloaded. (Defined by ObjectValueConversion.)
Public Extension MethodAsUInt (Defined by ObjectValueConversion.)
Public Extension MethodAsULong (Defined by ObjectValueConversion.)
Public Extension MethodAsUri (Defined by ObjectValueConversion.)
Public Extension MethodAsUShort (Defined by ObjectValueConversion.)
Public Extension MethodAsXMLConfig (Defined by ObjectValueConversion.)
Public Extension MethodToErlObject Overloaded.
Try to convert .NET native object type to corresponding Erlang term. Throw exception if conversion is not possible
(Defined by ErlObject.)
Public Extension MethodToErlObject(ErlTypeOrder, Boolean)Overloaded.
Try to convert .NET native object type to corresponding Erlang term of given type. Throw exception if conversion is not possible
(Defined by ErlObject.)
Public Extension MethodToJSON(JSONWritingOptions)Overloaded.
Serializes object into JSON string
(Defined by JSONExtensions.)
Public Extension MethodToJSON(TextWriter, JSONWritingOptions)Overloaded.
Serializes object into JSON format using provided TextWriter
(Defined by JSONExtensions.)
Public Extension MethodToJSON(Stream, JSONWritingOptions, Encoding)Overloaded.
Serializes object into JSON format using provided stream and optional encoding
(Defined by JSONExtensions.)
Back to Top
Fields

  NameDescription
Protected fieldm_CompileErrors
Public fieldStatic memberSCRIPT_COMMENT_ATTR
Specifies the comment that will be output for decorated entity in the script
Public fieldStatic memberSCRIPT_INCLUDE_SECTION
Specifies the name of the file to be included in the output verbatim, i.e.: script-include="mytypes.txt"{}
Public fieldStatic memberSCRIPT_OUTPUT_NAME_ATTR
Specifies the name of the output that script text has to be placed in
Public fieldStatic memberSCRIPT_TEXT_SECTION
Specifies the text to be included in the output verbatim, i.e.: script-text="INSERT INTO TBL_ABC VALUES(1, true, now())"{}
Back to Top
Properties

  NameDescription
Public propertyCompileErrors
Returns exception errors that were generated during compilation. This property returns "planned" errors that were caused by input, whereas CompileException returns exception that indicates some more drastic abnormality that broke the compilation
Public propertyCompileException
Returns exception that surfaced during compilation, or null if source has not compiled yet or no exception happened. This exception is different form CompileErrors because it indicates some un=planned condition that broke the compilation process
Public propertyHasCompiled
Returns true to indicate that compiler has already processed the source schema
Public propertyHasErrors
Returns true when this instance did not compile properly
Public propertyName
Returns the name of the technology that this compiler targets. i.e. "ORACLE", "RecordModel"
Public propertyNameCaseSensitivity
Determines whether output script is case sensitive
Public propertyNameComparison
Returns string comparison options for names that depend on target case sensitivity
Public propertyOutputPath
Determines where compiled output is placed
Public propertyOutputPrefix
Determines the prefix for output names
Public propertySchema
Returns source schema
Public propertyTarget
Returns type of target that this instance produces output for
Back to Top
See Also