(* Copyright (C) 1989, Digital Equipment Corporation *) (* All rights reserved. *) (* See the file COPYRIGHT for a full description. *) (* File: AssignStmt.i3 *) (* Last Modified On Tue Mar 20 01:30:09 1990 By muller *) (* Modified On Wed Jan 10 13:17:27 1990 By kalsow *) INTERFACE AssignStmt; IMPORT Expr, Token, Stmt, Type; PROCEDURE Parse (READONLY fail: Token.Set): Stmt.T; PROCEDURE New (lhs, rhs: Expr.T): Stmt.T; TYPE Kind = { assign, value, var, const }; PROCEDURE CheckRHS (lhs: Type.T; rhs: Expr.T; kind := Kind.assign): Expr.T; (* caller is responsible for generating open array shape checks *) PROCEDURE NeedsClosureCheck (e: Expr.T): BOOLEAN; (* TRUE if e is an procedure expression that needs a runtime check for a closure *) END AssignStmt.