Modema/System transform package

Library documentation for Modema/System transform package.

Workspaces:

  • Modema::Transform:{internal-0.90}:

  • Modema::Transform:{main}:

Modema::Transform:{internal-0.90}:

Library documentation for Modema::Transform:{internal-0.90}: workspace.

[fn] ValidatorToTransform(Transform::Validator validator)

Validator to transform conversion function.

Modema::Transform:{main}:

Library documentation for Modema::Transform:{main}: workspace.

[fn] AddNodeToStore(Node store, Node item)

Add node to generic store node.

[fn] AddNodeToStore2(Node store, Data::String name, Node item)

Add node to generic store node.

[fn] AddNodeToStoreGuest(Node store, Node item)

Add node to generic store node as guest.

[clss] DictItem

Node representation of the model dictionaty item.

Members:

  • ref1: Data::String

  • ref2: Data::String

  • relation: Data::String

[clss] Dictionary

Node representation of the model dictionaty.

Members:

  • container: Store::Container

Methods:

  • [mth] add (string ref1, string ref2)

    Add dictionary item.

    • ref1 : First reference.

    • ref2 : Second reference.

  • [mth] addRelation (string ref1, string ref2, string relation)

    Add dictionary item.

    • ref1 : First reference.

    • ref2 : Second reference.

    • relation : Relation name.

  • [mth] listConnections (string ref1, Store::Vector list)

    List connections.

    • ref1 : First reference ID.

    • list : Connection list.

    • @return: True if success.

  • [mth] listRelations (string ref1, Store::Set list)

    List relations.

    • ref1 : First reference ID.

    • list : Relation list.

    • @return: True if success.

  • [mth] hasConnection (string ref1, string ref2)

    Test for connection.

    • ref1 : First reference ID.

    • ref2 : Second reference ID.

    • @return: True if has connection between IDs.

  • [mth] getRelation (string ref1, string ref2, Data::String relation)

    Get relation.

    • ref1 : First reference ID.

    • ref2 : Second reference ID.

    • relation : Relation name.

    • @return: True if has connection between IDs.

  • [mth] getRelationOnce (string ref1, Data::String relation)

    Get relation.

    • ref1 : First reference ID.

    • relation : Relation name.

    • @return: True if has connection between IDs.

  • [mth] getReference1 (Data::String ref1, string ref2, string relation)

    Get first reference.

    • ref1 : First reference ID.

    • ref2 : Second reference ID.

    • relation : Relation name.

    • @return: True if has connection between IDs.

  • [mth] getReference2 (string ref1, Data::String ref2, string relation)

    Get second reference.

    • ref1 : First reference ID.

    • ref2 : Second reference ID.

    • relation : Relation name.

    • @return: True if has connection between IDs.

[trans] ExpressionProcessing

Abstract transform for expression processing.

Methods:

  • [mth] convertBooleanCheckToNull (Code::BinaryOperator source, Code::BinaryOperator result)

[trans] FromSpecificCommons

Common parser functions.

Members:

Methods:

  • [mth] indent ()

  • [mth] Map (Store::Map map)

  • [mth] List (Store::List list)

  • [mth] Matrix (Store::Matrix matrix)

  • [mth] Pair (Store::Pair pair)

  • [mth] Set (Store::Set set)

  • [mth] UnorderedMap (Store::UnorderedMap map)

  • [mth] UnorderedSet (Store::UnorderedSet set)

  • [mth] Vector (Store::Vector vector)

[clss] InlineData

Inline data for transform.

Members:

  • targets: Store::Map

[trans] InlineInsert

Insert inline code.

Members:

  • inlineData: Store::Single

Methods:

  • constructor ()

  • destructor ()

  • Unit: <%Group::Unit%> key

  • FunctionRoot: <%Group::Function%> key

  • MethodRoot: <%Group::Method%> key

  • InlineRoot: <%Code::Inline%> key

  • BlockRoot: <%Code::Block%> key

  • Inline: <%Code::Inline%> key

  • Function: <%Group::Function%> key

  • Constructor: <%Group::Constructor%> key

  • Destructor: <%Group::Destructor%> key

  • Method: <%Group::Method%> key

  • Block: <%Code::Block%> key

  • key <%Code::If%>

  • key <%Code::IfElse%>

  • key <%Code::For%>

  • key <%Code::Foreach%>

  • key <%Code::While%>

  • key <%Code::Until%>

  • key <%Code::Catch%>

  • key <%Code::Try%>

  • key <%Code::Break%>

  • key <%Code::Continue%>

  • key <%Code::Return%>

  • key <%Code::VariableDeclareList%>

  • key <%Code::VariableDeclare%>

  • key <%Code::Link%>

  • key <%Code::Expression%>

  • key <%Code::BinaryOperator%>

  • key <%Code::MultiOperator%>

  • key <%Code::UnaryOperator%>

  • key <%Code::Path%>

  • key <%Code::InlineCode%>

  • key <%Code::Comment%>

[clss] InlinePair

Pair values for transform.

Members:

  • begin: Store::Single

  • end: Store::Single

Methods:

  • [mth] clear ()

[fn] IsDataNode(Data::String type)

[fn] IsStoreNode(Data::String type)

[trans] ModemaLangCodeFunctions

Generic transformation functions.

Methods:

  • [mth] GetOrCreateConstructor (Node item)

  • [mth] GetOrCreateDestructor (Node item)

  • [mth] CheckClassMethod (Node item, string name)

  • [mth] addExpression (Node node)

  • [mth] convertExpessionToCall (Code::Expression expression)

  • [mth] convertExpressionToCall2 (Code::Expression expression, Node n)

  • [mth] replaceLastLinkMember (Code::Link link, Data::String member)

  • [mth] replaceLastStoreCall2P1 (Code::Link link, Data::String methodName)

  • [mth] replaceLastStoreCall3P1 (Code::Link link, Data::String methodName)

  • [mth] replaceDeclareType (Code::VariableDeclare declare, Data::String type)

  • [mth] getLinkButFirst (Code::Link link)

  • [mth] getLinkButLast (Code::Link link)

  • [mth] getLinkButEnds (Code::Link link)

  • [mth] getLastCallNonEmpty (Code::Link link)

  • [mth] getLastCall (Code::Link link)

[trans] ModemaLangCodeSlot

Modema/Lang transformation methods.

Members:

  • failOnTypeError: Data::Bool

[trans] ModemaLangCodeSlotNative

Members:

  • failOnTypeError: Data::Bool

[trans] ToSpecificCommons

Common parser methods.

Members:

Methods:

  • [mth] indent ()

  • [mth] processItem (Node item)

  • [mth] Map (Store::Map map)

  • [mth] List (Store::List list)

  • [mth] Matrix (Store::Matrix matrix)

  • [mth] Pair (Store::Pair pair)

  • [mth] Set (Store::Set set)

  • [mth] UnorderedMap (Store::UnorderedMap map)

  • [mth] UnorderedSet (Store::UnorderedSet set)

  • [mth] Vector (Store::Vector vector)

[trans] ToTextCommons

Common text processing methods.

Members:

  • indentPosition: Data::Int32

  • output: System::GenericBuffer

Methods:

  • [mth] space ()

  • [mth] putPattern (Data::String format)

  • [mth] indent ()

  • [mth] subindent ()

  • [mth] changeOutputHeader (Data::String filename)

  • [mth] changeOutputCode (Data::String filename)

[trans] Transformation

Transformation helper.

Methods:

  • [mth] transformSetToCall0 (Node link, string methodName)

  • [mth] transformSetToCallP0 (Node parent, Node link, string methodName)

[fn] processRelatedMembers(Store::Container prefix, string type, Store::Container container)

Process related members.