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

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.CollectionExpression
All Implemented Interfaces:
ISyntaxElement, Analyzable, Evaluatable

public class CollectionExpression
extends FeatureCall

Author:
Sven Efftinge (http://www.efftinge.de), Arno Haase, Bernd Kolb, Karsten Thoms - maintenance, Ed Merks - Bug#418156,418240

Field Summary
 
Fields inherited from class org.eclipse.internal.xtend.expression.ast.SyntaxElement
end, line, start
 
Constructor Summary
CollectionExpression(Identifier name, Identifier eleName, Expression closure)
           
 
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.
 Expression getClosure()
           
 java.lang.String getElementName()
           
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

CollectionExpression

public CollectionExpression(Identifier name,
                            Identifier eleName,
                            Expression closure)
Method Detail

toStringInternal

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

getClosure

public Expression getClosure()

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

getElementName

public java.lang.String getElementName()