|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
diff -up frysk-0.4/frysk-core/frysk/scopes/Scope.java.skipdecl frysk-0.4/frysk-core/frysk/scopes/Scope.java
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
--- frysk-0.4/frysk-core/frysk/scopes/Scope.java.skipdecl 2010-03-30 14:04:28.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+++ frysk-0.4/frysk-core/frysk/scopes/Scope.java 2010-03-30 14:02:55.000000000 -0400
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
@@ -48,6 +48,7 @@ import lib.dwfl.DwarfDie;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
import frysk.debuginfo.DebugInfoFrame;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
import frysk.debuginfo.TypeFactory;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
import frysk.value.ObjectDeclaration;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+import lib.dwfl.DwAt;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
/**
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
* A class to represent a Scope.
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
@@ -215,14 +216,24 @@ public class Scope
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
public ObjectDeclaration getDeclaredObjectByName(String name){
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
ObjectDeclaration objectDeclaration = null;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ ObjectDeclaration declaration = null;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
Iterator iterator = this.getObjectDeclarations().iterator();
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
while (iterator.hasNext()) {
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
objectDeclaration = (ObjectDeclaration) iterator.next();
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
if(objectDeclaration.getName().equals(name)){
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ if (objectDeclaration instanceof Variable
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ && ((Variable)objectDeclaration).getVariableDie().getAttrBoolean(DwAt.DECLARATION)) {
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ // If it is only a declaration keep searching;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ // hopefully there's also a definition.
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ declaration = objectDeclaration;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ continue;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
return objectDeclaration;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
}
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
}
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ if (declaration != null)
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
+ return declaration;
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
iterator = this.getEnums().iterator();
|
|
![](https://seccdn.libravatar.org/avatar/85b447f035226e9026bf38c8125daa97b44413276791e668e1cbbf2c75718f60?s=16&d=retro) |
febdccc |
while (iterator.hasNext()) {
|