org.eclipse.internal.xtend.expression.ast
Class TypeSelectExpression

java.lang.Object
  extended by org.eclipse.internal.xtend.expression.ast.SyntaxElement
      extended by org.eclipse.internal.xtend.expression.ast.Expression
          extended by org.eclipse.internal.xtend.expression.ast.FeatureCall
              extended by org.eclipse.internal.xtend.expression.ast.TypeSelectExpression
All Implemented Interfaces:
ISyntaxElement, Analyzable, Evaluatable

public class TypeSelectExpression
extends FeatureCall

Author:
Sven Efftinge (http://www.efftinge.de), Arno Haase, Bernd Kolb

Field Summary
 
Fields inherited from class org.eclipse.internal.xtend.expression.ast.SyntaxElement
end, line, start
 
Constructor Summary
TypeSelectExpression(Identifier opName, Identifier typeLiteral)
           
 
Method Summary
 Type analyzeInternal(ExecutionContext ctx, java.util.Set<AnalysationIssue> issues)
          analyzes in the following order if (target==null) 1) enumeration literal 2) variable 3) implicite var (e.g.
 java.lang.Object evaluateInternal(ExecutionContext ctx)
          evaluates in the following order if (target==null) 1) enumeration literal 2) variable 3) implicit var (e.g.
 java.lang.String getTypeName()
           
protected  java.lang.String toStringInternal()
           
 
Methods inherited from class org.eclipse.internal.xtend.expression.ast.FeatureCall
analyzeTarget, findType, getEnumLiteral, getName, getNameString, getTarget, setTarget
 
Methods inherited from class org.eclipse.internal.xtend.expression.ast.Expression
analyze, evaluate, findType, toString
 
Methods inherited from class org.eclipse.internal.xtend.expression.ast.SyntaxElement
accept, getEnd, getFileName, getLine, getStart, setEnd, setFileName, setLine, setStart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TypeSelectExpression

public TypeSelectExpression(Identifier opName,
                            Identifier typeLiteral)
Method Detail

getTypeName

public java.lang.String getTypeName()

toStringInternal

protected java.lang.String toStringInternal()
Overrides:
toStringInternal in class FeatureCall

evaluateInternal

public java.lang.Object evaluateInternal(ExecutionContext ctx)
Description copied from class: FeatureCall
evaluates in the following order if (target==null) 1) enumeration literal 2) variable 3) implicit var (e.g. this) being everything but an empty list 4) type literal otherwise it's a property if the above doesn't match throw an error as long as target is no empty Collection

Overrides:
evaluateInternal in class FeatureCall

analyzeInternal

public Type analyzeInternal(ExecutionContext ctx,
                            java.util.Set<AnalysationIssue> issues)
Description copied from class: FeatureCall
analyzes in the following order if (target==null) 1) enumeration literal 2) variable 3) implicite var (e.g. this) 4) type literal otherwise it's a property

Overrides:
analyzeInternal in class FeatureCall