com.google.caja.parser.js
Class CatchStmt

java.lang.Object
  extended by com.google.caja.parser.AbstractParseTreeNode
      extended by com.google.caja.parser.js.AbstractStatement
          extended by com.google.caja.parser.js.CatchStmt
All Implemented Interfaces:
JsonMLCompatible, Statement, MutableParseTreeNode, ParseTreeNode, MessagePart, Renderable, java.lang.Cloneable

public final class CatchStmt
extends AbstractStatement

An exception handler that is part of a TryStmt.

Author:
mikesamuel@gmail.com

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.google.caja.parser.ParseTreeNode
ParseTreeNode.ReflectiveCtor
 
Nested classes/interfaces inherited from interface com.google.caja.reporting.MessagePart
MessagePart.Factory
 
Nested classes/interfaces inherited from interface com.google.caja.parser.js.JsonMLCompatible
JsonMLCompatible.JsonMLBuilder
 
Nested classes/interfaces inherited from interface com.google.caja.parser.MutableParseTreeNode
MutableParseTreeNode.Mutation
 
Field Summary
private  Block body
           
private  Declaration exception
           
 
Fields inherited from interface com.google.caja.parser.ParseTreeNode
TAINTED
 
Constructor Summary
CatchStmt(FilePosition pos, Declaration exception, Block body)
           
CatchStmt(FilePosition pos, java.lang.Void value, java.util.List<? extends ParseTreeNode> children)
           
 
Method Summary
protected  void childrenChanged()
          Called to perform consistency checks on the child list after changes have been made.
 Block getBody()
           
 Declaration getException()
           
 java.lang.Object getValue()
           
 boolean hasHangingConditional()
          True if the rendered form of the statement would consume more tokens if parsed followed by the tokens "else" and ";".
 void render(RenderContext rc)
          Output the textual form to r.getOut().
 com.google.javascript.jscomp.jsonml.JsonML toJsonML()
          Creates a JsonML representation of this AST.
 
Methods inherited from class com.google.caja.parser.js.AbstractStatement
breaks, continues, isTerminal, makeRenderer, renderBlock
 
Methods inherited from class com.google.caja.parser.AbstractParseTreeNode
acceptPostOrder, acceptPreOrder, appendChild, children, childrenAs, childrenPart, clone, createMutation, equals, format, formatSelf, formatTree, formatTree, getAttributes, getComments, getFilePosition, hashCode, insertBefore, removeChild, replaceChild, setComments, setFilePosition, toString, toStringDeep, toStringDeep
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.google.caja.parser.ParseTreeNode
acceptPostOrder, acceptPreOrder, children, clone, formatTree, getAttributes, getComments, getFilePosition
 
Methods inherited from interface com.google.caja.reporting.MessagePart
format
 

Field Detail

exception

private Declaration exception

body

private Block body
Constructor Detail

CatchStmt

@ParseTreeNode.ReflectiveCtor
public CatchStmt(FilePosition pos,
                                              java.lang.Void value,
                                              java.util.List<? extends ParseTreeNode> children)
Parameters:
value - unused. This ctor is provided for reflection.

CatchStmt

public CatchStmt(FilePosition pos,
                 Declaration exception,
                 Block body)
Method Detail

childrenChanged

protected void childrenChanged()
Description copied from class: AbstractParseTreeNode
Called to perform consistency checks on the child list after changes have been made. This can be overridden to do additional checks by subclasses, and to update derived state, but all subclasses must chain to super after performing their own checks.

This method may throw any RuntimeException on an invalid child. TODO(mikesamuel): maybe reliably throw an exception type, that includes information about the troublesome node.

Overrides:
childrenChanged in class AbstractParseTreeNode

getException

public Declaration getException()

getBody

public Block getBody()

getValue

public java.lang.Object getValue()
Specified by:
getValue in interface ParseTreeNode
Specified by:
getValue in class AbstractParseTreeNode
Returns:
null or a value with subclass specific meaning which encapsulates all parsed state separate from the children.

render

public void render(RenderContext rc)
Description copied from interface: Renderable
Output the textual form to r.getOut().


hasHangingConditional

public boolean hasHangingConditional()
Description copied from interface: Statement
True if the rendered form of the statement would consume more tokens if parsed followed by the tokens "else" and ";".


toJsonML

public com.google.javascript.jscomp.jsonml.JsonML toJsonML()
Description copied from interface: JsonMLCompatible
Creates a JsonML representation of this AST.



Copyright (C) 2008 Google Inc.
Licensed under the Apache License, Version 2.0