IfBlockSandwich class

開始と終了に改行あり と それ以外で resolve の処理が変わる.

ex:

{#true a == b}a property is empty{#true}
{#true a}flag is true{#true}
{#true a.b}flag is true{#true}

{#false a == b.c}a property is empty.{#false}
Inheritance
Implemented types

Constructors

IfBlockSandwich(String source, BooleanKeyword booleanKeyword, Boolean boolean, CitrusSemanticList<FinishCitrusSemantic> finishCitrusSemanticList)
const

Properties

boolean Boolean
final
booleanKeyword BooleanKeyword
final
finishCitrusSemanticList CitrusSemanticList<FinishCitrusSemantic>
final
hashCode int
properties に依存.
no setterinherited
properties Map<String, Object>
inactivate(), = operator, [] operator, など に依存されている.
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
source String
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resolve(CitrusSymbolTable symbolTable, String generateLocation, Iterable<String> fragments) → Success<String, CitrusSemanticException>
override
toInactivatedJson() Map<String, dynamic>
test 時に 等価比較が行えるように 一部の property 値を無効化する(一定の値に変更する)処理を加えた json を出力する.
例えば process id など, system によって割り振られる値をこちらで指定できないので このような場合に利用する.
inherited
toJson() Map<String, dynamic>
ここでの toJson とは json へ encode 可能な形式へ変換するという意味で使われる.
つまり json string を返すというわけではない.
また serialize としても利用するため deserialize 可能でなければならない.
inherited
toNestedStructureMap() Map<String, Object>
条件分岐で利用するため用意した.
inherited
toString() String
properties に依存.
inherited

Operators

operator ==(Object other) bool
instance properties の toString() をそれぞれ比較し合う。 properties, [] operator に依存.
inherited
operator [](String key) Object
properties から、operator == の内容を自動更新できるようにするために定義している.
inherited

Static Methods

fromBlockSandwich(BlockSandwich blockSandwich) → Danger<IfBlockSandwich, CitrusSemanticException>