Project

General

Profile

root / trunk / compiler / ooasCompiler / src / org / momut / ooas / ast / types / MetaType.java @ 12

1
/**
2
  *
3
  *                      OOAS Compiler
4
  *
5
  * Copyright 2015, AIT Austrian Institute of Technology. All rights reserved.
6
  *
7
  * SEE THE "LICENSE" FILE FOR THE TERMS UNDER WHICH THIS FILE IS PROVIDED.
8
  *
9
  * If you modify the file please update the list of contributors below to in-
10
  * clude your name. Please also stick to the coding convention of using TABs
11
  * to do the basic (block-level) indentation and spaces for anything after
12
  * that. (Enable the display of special chars and it should be pretty obvious
13
  * what this means.) Also, remove all trailing whitespace.
14
  *
15
  * Contributors:
16
  *               Willibald Krenn (AIT)
17
  */
18

    
19

    
20
package org.momut.ooas.ast.types;
21

    
22
import org.momut.ooas.ast.IAstVisitor;
23

    
24
///////////////////////////////////////////////
25
///  Special type: MetaType (type of <Type> construct)
26
///
27
public final class MetaType extends Type
28
{
29
        private final Type m_type;
30

    
31
        public Type Type() { return m_type; }
32

    
33
        public MetaType(Type aType)
34
        {
35
                super(TypeKind.MetaType, null);
36
                m_type = aType;
37
        }
38

    
39
        @Override
40
        public void Accept(IAstVisitor visitor)
41
        {
42
                visitor.visit(this);
43
        }
44

    
45
        @Override
46
        public String AnonymousName()
47
        {
48
                return "meta_" + m_type.AnonymousName();
49
        }
50

    
51
}