summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbkolb2008-03-04 10:42:47 (EST)
committer bkolb2008-03-04 10:42:47 (EST)
commitd1ad1ec9f6e2d1f11dbc9b1d00afb766571defae (patch)
tree2086133f826f24d6d615394b33002aa2a3be48af
parent8a991f25bd196a70571bc98f4d49b20a0ad72448 (diff)
downloadorg.eclipse.xpand-d1ad1ec9f6e2d1f11dbc9b1d00afb766571defae.zip
org.eclipse.xpand-d1ad1ec9f6e2d1f11dbc9b1d00afb766571defae.tar.gz
org.eclipse.xpand-d1ad1ec9f6e2d1f11dbc9b1d00afb766571defae.tar.bz2
sven will den haben
-rw-r--r--plugins/org.eclipse.xpand3/src/org/eclipse/xand3/analyzation/AnalyzeContext.java38
1 files changed, 36 insertions, 2 deletions
diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xand3/analyzation/AnalyzeContext.java b/plugins/org.eclipse.xpand3/src/org/eclipse/xand3/analyzation/AnalyzeContext.java
index e1f5b52..ad701c3 100644
--- a/plugins/org.eclipse.xpand3/src/org/eclipse/xand3/analyzation/AnalyzeContext.java
+++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xand3/analyzation/AnalyzeContext.java
@@ -15,10 +15,44 @@
*/
package org.eclipse.xand3.analyzation;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.xpand3.Identifier;
+import org.eclipse.xpand3.declaration.AbstractDeclaration;
+import org.eclipse.xpand3.declaration.Extension;
+import org.eclipse.xpand3.expression.AbstractExpression;
+import org.eclipse.xpand3.staticTypesystem.AbstractTypeReference;
+import org.eclipse.xpand3.staticTypesystem.FunctionType;
+
/**
* @author Sven Efftinge
- *
+ * @author Bernd Kolb
*/
public interface AnalyzeContext {
-
+
+ String IMPLICIT_VARIABLE = null;
+
+ Map<String, ? extends AbstractTypeReference> getLocalVars();
+
+ boolean hasThis();
+
+ Object getThis();
+
+ AnalyzeContext cloneWithVariable(Identifier eleName,
+ AbstractTypeReference object);
+
+ AbstractTypeReference getVariable(String varName);
+
+ AbstractExpression getExtensionForTypes(String functionName,
+ AbstractTypeReference[] paramTypes);
+
+ FunctionType getOperationFor(AbstractTypeReference target,
+ String functionName, AbstractTypeReference[] withoutFirst);
+
+ AbstractExpression getTypeForName(Identifier typeLiteral);
+
+ Extension findExtension(String expression,
+ EList<AbstractDeclaration> declarations);
+
}