Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java')
-rw-r--r--plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java117
1 files changed, 0 insertions, 117 deletions
diff --git a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java b/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java
deleted file mode 100644
index 83ff4e214..000000000
--- a/plugins/org.eclipse.jem.workbench/workbench/org/eclipse/jem/workbench/utility/ASTBoundResolver.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
-
-
- */
-package org.eclipse.jem.workbench.utility;
-
-import java.text.MessageFormat;
-
-import org.eclipse.jdt.core.dom.*;
-
-import org.eclipse.jem.internal.instantiation.*;
-import org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.InvalidExpressionException;
-
-/**
- * This works on resolved AST nodes. If the nodes had not been resolved, this will return noting.
- *
- * @since 1.0.0
- */
-public class ASTBoundResolver extends ParseTreeCreationFromAST.Resolver {
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.IResolver#resolveName(org.eclipse.jdt.core.dom.Name)
- */
- public PTExpression resolveName(Name name) {
- IBinding binding = name.resolveBinding();
- if (binding == null)
- return null;
-
- switch (binding.getKind()) {
- case IBinding.TYPE:
- String typename = getTypeName((ITypeBinding) binding);
- PTName ptname = InstantiationFactory.eINSTANCE.createPTName();
- ptname.setName(typename);
- return ptname;
- case IBinding.VARIABLE:
- IVariableBinding variableBinding = (IVariableBinding) binding;
- if (variableBinding.isField()) {
- if (Modifier.isStatic(variableBinding.getModifiers())) {
- PTFieldAccess fa = InstantiationFactory.eINSTANCE.createPTFieldAccess();
- // If just a simple name, then it is like this.field, so no receiver. Not sure how to handle this yet.
- if (name.isQualifiedName()) {
- // There are parts before this one. Get them as an expression (either a name, or another field access)
- fa.setReceiver(resolveName(((QualifiedName) name).getQualifier()));
- }
- fa.setField(variableBinding.getName());
- return fa;
- } else {
- throwInvalidExpressionException(MessageFormat.format(WorkbenchUtilityMessages.ASTBoundResolver_CannotHandleLocalField_EXC_, new Object[]{variableBinding.getName()}));
-// push(new PushFieldVariable(variableId, getTypeSignature(declaringTypeBinding), fCounter));
-// push(new PushThis(getEnclosingLevel(node, declaringTypeBinding)));
-// storeInstruction();
- }
- } else {
- throwInvalidExpressionException(MessageFormat.format(WorkbenchUtilityMessages.ASTBoundResolver_CannotHandleLocalVariable_EXC_, new Object[]{variableBinding.getName()}));
-// push(new PushLocalVariable(variableId));
- }
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.IResolver#resolveType(org.eclipse.jdt.core.dom.Type)
- */
- public String resolveType(Type type) {
- ITypeBinding binding = type.resolveBinding();
- return (binding != null) ? getTypeName(binding) : null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.Resolver#resolveType(org.eclipse.jdt.core.dom.Name)
- */
- public String resolveType(Name name) throws InvalidExpressionException {
- ITypeBinding binding = name.resolveTypeBinding();
- return (binding != null) ? getTypeName(binding) : null;
- }
-
- protected String getTypeName(ITypeBinding typeBinding) {
- StringBuffer name;
- if (typeBinding.isArray()) {
- name= new StringBuffer(getTypeName(typeBinding.getElementType()));
- int dimensions= typeBinding.getDimensions();
- for (int i= 0; i < dimensions; i++) {
- name.append("[]"); //$NON-NLS-1$
- }
- return name.toString();
- }
- name= new StringBuffer(typeBinding.getName());
- IPackageBinding packageBinding= typeBinding.getPackage();
- typeBinding= typeBinding.getDeclaringClass();
- while(typeBinding != null) {
- name.insert(0, '$').insert(0, typeBinding.getName());
- typeBinding= typeBinding.getDeclaringClass();
- }
- if (packageBinding != null && !packageBinding.isUnnamed()) {
- name.insert(0, '.').insert(0, packageBinding.getName());
- }
- return name.toString();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.workbench.utility.ParseTreeCreationFromAST.Resolver#resolveThis()
- */
- public PTExpression resolveThis() throws InvalidExpressionException {
- return InstantiationFactory.eINSTANCE.createPTThisLiteral();
- }
-}

Back to the top