Class UnSafeGenericAccessAnalyzer

java.lang.Object
org.ek9lang.compiler.common.CodeFlowMap
org.ek9lang.compiler.common.UnSafeGenericAccessAnalyzer
All Implemented Interfaces:
CodeFlowAnalyzer

final class UnSafeGenericAccessAnalyzer extends CodeFlowMap
Checks to see if a variable has a specific generic type.

A proof of safe access can also be WITHDRAWN (withdraw(ISymbol, IScope)): code that may change the container (forget(name) with a forget that is not pure, it.next()) leaves nothing proven about it from that point on, in that scope and every scope later made inside it.

  • Constructor Details

    • UnSafeGenericAccessAnalyzer

      UnSafeGenericAccessAnalyzer()
  • Method Details

    • withdraw

      void withdraw(ISymbol identifierSymbol, IScope inScope)
      The proof that the variable is safe to access no longer holds in inScope (nor in any scope made inside it from now on); the enclosing scopes are left as they are.
    • symbolsMeetingAcceptableCriteria

      List<ISymbol> symbolsMeetingAcceptableCriteria(IScope inScope)
      The variables proven safe to access in inScope.