Package org.ek9lang.compiler.phase5
Class ProcessIfStatement
java.lang.Object
org.ek9lang.compiler.common.RuleSupport
org.ek9lang.compiler.common.TypedSymbolAccess
org.ek9lang.compiler.phase5.ProcessIfStatement
- All Implemented Interfaces:
Consumer<EK9Parser.IfStatementContext>
final class ProcessIfStatement
extends TypedSymbolAccess
implements Consumer<EK9Parser.IfStatementContext>
Deals with checking if all paths through if/else/else-if/else result in variables meeting criteria.
If they do then the outer variable meta-data can also be marked as also meeting the criteria.
Initially, this was just were variables initialised. But now the introduction of CodeFlowAnalyzers
means that several forms of symbol analysis can take place.
-
Field Summary
Fields inherited from class org.ek9lang.compiler.common.RuleSupport
errorListener, symbolsAndScopes
-
Constructor Summary
ConstructorsConstructorDescriptionProcessIfStatement
(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener) -
Method Summary
Methods inherited from class org.ek9lang.compiler.common.TypedSymbolAccess
getRecordedAndTypedSymbol, isProcessingScopePure, recordATypedSymbol
-
Constructor Details
-
ProcessIfStatement
ProcessIfStatement(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener)
-
-
Method Details
-
accept
- Specified by:
accept
in interfaceConsumer<EK9Parser.IfStatementContext>
-