Add support for type parameters for classes

Allow type parameters for class, ie `class Foo<Bar, Baz>`

/cc @vojtajina 
Sorry. The ParseTreeValidator's role is to ensure the shape of the parse
tree. Think of it as a big assert.
On Nov 21, 2014 12:42 AM, "Victor Berchet" <notifications@github.com> wrote:

> In src/syntax/ParseTreeValidator.js:
>
> > @@ -375,6 +375,17 @@ export class ParseTreeValidator extends ParseTreeVisitor {
> >     * @param {ClassDeclaration} tree
> >     */
> >    visitClassDeclaration(tree) {
> > +    this.visitClassShared_(tree);
> > +  }
> > +
> > +  /**
> > +   * @param {ClassExpression} tree
> > +   */
> > +  visitClassExpression(tree) {
> > +    this.visitClassShared_(tree);
> > +  }
> > +
> > +  visitClassShared_(tree) {
>
> E is the above example is an arbitrary identifier, could be anything class
> Value<MySuperTypeName>.
>
> The type will only be known at runtime new Value<number>();
>
> Note: TS support constraints (which does not seem to implemented in
> Traceur class Value<MySuperTypeName extends Type>. When/If this comes to
> Traceur, we should validate "Type".
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/google/traceur-compiler/pull/1525/files#r20703701>.
>